Creating a PVC
Function
This API is used to create a PersistentVolumeClaim (PVC) in a specified namespace. A PVC is a request for PersistentVolume (PV). The PV carries details of real cloud storage such as EVS disks, SFS file systems, and OBS buckets.
The format of the storage management API URL is https://{clusterid}.Endpoint/uri. In the URL, {clusterid} indicates the cluster ID, and uri indicates the resource path, that is, the path for API access. If https://Endpoint/uri is used, the X-Cluster-ID parameter in the request header must be specified.
URI
POST /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims
Parameter | Mandatory | Type | Description |
---|---|---|---|
namespace | Yes | String | A namespace allows you to organize resources and objects into non-overlapping groups (for example, per project team or user group). The value must start with a lowercase letter and cannot end with a hyphen (-). Only digits, lowercase letters, and hyphens (-) are allowed. Constraints:
Minimum length: 1 character Maximum length: 63 characters |
Request
Parameter | Mandatory | Type | Description |
---|---|---|---|
Content-Type | Yes | String | Message body type (format). Default value: application/json |
X-Auth-Token | Yes | String | Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. For details on how to obtain a user token, see Token-based Authentication. Maximum length: 16,384 characters |
X-Cluster-ID | No | String | Cluster ID. This parameter is mandatory when the URL format https://Endpoint/uri is used. For details about how to obtain the value, see How to Obtain Parameters in the API URI. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
apiVersion | Yes | String | API version. The value is fixed at v1. Default value: v1 |
kind | Yes | String | API type. The value is fixed at PersistentVolumeClaim. Default value: PersistentVolumeClaim |
metadata | Yes | Cluster metadata, which is a collection of attributes. | |
spec | Yes | PersistentVolumeClaimSpec object | Detailed description of the cluster object. CCE creates or updates objects by defining or updating spec. |
status | No | PersistentVolumeClaimStatus object | PVC status. The API used to create a PVC does not need to carry this parameter. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | Yes | String | PVC name. Enter 1 to 253 characters starting and ending with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. PVC names must be unique in a namespace. |
labels | No | String | PVC labels, in the format of key-value pairs.
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
volumeID | Yes | String | ID of an existing storage volume.
|
storageType | Yes | String | Cloud storage class. This parameter is used together with volumeID. That is, volumeID and storageType must be configured at the same time.
|
accessModes | Yes | Array of strings | Access mode of the volume. Only the first value in all selected options is valid.
Options:
|
storageClassName | No | String | Storage class name of the PVC. |
volumeName | No | String | Name of the PV bound to the PVC. |
resources | No | ResourceRequirements object | Resource requests and limits. |
volumeMode | No | String | PV type specified by the PVC. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
limits | No | Map<String,String> | Resource limits. This parameter is invalid during creation. |
requests | No | Map<String,String> | Resource requests. This parameter is invalid during creation. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
accessModes | No | Array of strings | Access mode of the PersistentVolume. |
capacity | No | String | Actual resources and capacity of the persistent volume. |
phase | No | String | Current status of the PVC. |
Response Parameters
Status code: 201
Parameter | Type | Description |
---|---|---|
apiVersion | String | API version. The value is fixed at v1. Default value: v1 |
kind | String | API type. The value is fixed at PersistentVolumeClaim. Default value: PersistentVolumeClaim |
metadata | Cluster object metadata, which is a collection of attributes. | |
spec | PersistentVolumeClaimSpec object | Detailed description of the cluster object. CCE creates or updates objects by defining or updating spec. |
status | PersistentVolumeClaimStatus object | PVC status. The API used to create a PVC does not need to carry this parameter. |
Parameter | Type | Description |
---|---|---|
name | String | PVC name. Enter 1 to 253 characters starting and ending with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. PVC names must be unique in a namespace. |
labels | String | PVC labels, in the format of key-value pairs.
|
Parameter | Type | Description |
---|---|---|
volumeID | String | ID of an existing storage volume.
|
storageType | String | Cloud storage class. This parameter is used together with volumeID. That is, volumeID and storageType must be configured at the same time.
|
accessModes | Array of strings | Access mode of the volume. Only the first value in all selected options is valid.
Options:
|
storageClassName | String | Storage class name of the PVC. |
volumeName | String | Name of the PV bound to the PVC. |
resources | ResourceRequirements object | Resource requests and limits. |
volumeMode | String | PV type specified by the PVC. |
Parameter | Type | Description |
---|---|---|
limits | Map<String,String> | Resource limits. This parameter is invalid during creation. |
requests | Map<String,String> | Resource requests. This parameter is invalid during creation. |
Parameter | Type | Description |
---|---|---|
accessModes | Array of strings | Access mode of the PersistentVolume. |
capacity | String | Actual resources and capacity of the persistent volume. |
phase | String | Current status of the PVC. |
Example Request
Specifying an EVS volume ID and creating a PVC:
POST /api/v1/namespaces/default/cloudpersistentvolumeclaims{"apiVersion" : "v1","kind" : "PersistentVolumeClaim","metadata" : {"name" : "csms-dev-create","namespace" : "default"},"spec" : {"volumeID" : "86b29e16-23db-11e7-9c83-fa163ec08232","storageType" : "bs","accessModes" : [ "ReadWriteMany" ]}}
Example Response
Status code: 201
The job for creating a PVC is successfully delivered.
{"kind" : "PersistentVolumeClaim","apiVersion" : "v1","metadata" : {"name" : " csms-dev-create ","namespace" : "default","selfLink" : "/api/v1/namespaces/default/persistentvolumeclaims/db-mysql-0","uid" : "86b29e16-23db-11e7-9c83-fa163ec08232","resourceVersion" : "1793115","creationTimestamp" : "2017-04-18T02:05:42Z"},"spec" : {"volumeName" : "csms-dev-create ","accessModes" : [ "ReadWriteMany" ],"resources" : {"requests" : {"storage" : "1Gi"}}},"status" : {"phase" : "Pending","accessModes" : [ "ReadWriteMany" ]}}
Status Code
Status code | Description |
---|---|
201 | The job for creating a PVC is successfully delivered. |
For the description about error status codes, see Status Code.
- Function
- URI
- Request
- Response Parameters
- Example Request
- Example Response
- Status Code