Creating a PV (Discarded)
Function
This API is used to create a PV associated with cloud storage (for example, EVS, SFS, and OBS). This API has been discarded. Use the corresponding Kubernetes PV API instead.
The URL for storage management is in the format of https://{clusterid}.Endpoint/uri. In the URL, {clusterid} indicates a 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 must be specified in the request header.
Calling Method
For details, see Calling APIs.
Authorization
Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.
- If you are using role/policy-based authorization, see the required permissions in Permissions Policies and Supported Actions.
- If you are using identity policy-based authorization, no identity policy-based permissions are required for calling this API.
URI
POST /api/v1/cloudpersistentvolumes
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
Content-Type |
Yes |
String |
The request body type or format Possible values:
|
|
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 about how to obtain a token, see 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 PersistentVolume. Default value: PersistentVolume |
|
metadata |
Yes |
PersistentVolumeMetadata object |
PV metadata information. |
|
spec |
Yes |
PersistentVolumeSpec object |
PV specifications. |
|
status |
No |
PersistentVolumeStatus object |
PV status information. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
PV name. Enter 1 to 253 characters that start and end with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. PV names must be unique in a namespace. |
|
labels |
No |
Map<String,String> |
PV labels, in the format of key-value pairs.
Example label: "foo": "bar" |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
flexVolume |
Yes |
FlexVolume object |
FlexVolume storage plug-in of Kubernetes. |
|
persistentVolumeReclaimPolicy |
No |
String |
PV reclaim policy. Possible values:
|
|
accessModes |
Yes |
Array of strings |
Access mode of the PV.
|
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
driver |
Yes |
String |
Name of the FlexVolume storage plug-in. Set this parameter based on the storage volume type.
|
|
fsType |
Yes |
String |
File system type. Set this parameter based on the storage volume type.
|
|
options |
Yes |
Options object |
FlexVolume configuration items. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
fsType |
Yes |
String |
File system type. Set this parameter based on the storage volume type.
|
|
region |
Yes |
String |
Region where the cloud storage is located. |
|
volumeID |
Yes |
String |
UUID of the cloud storage. If the cloud storage is an OBS bucket, set this parameter to the bucket name. |
|
storageType |
Yes |
String |
Cloud storage volume type.
|
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
accessModes |
No |
Array of strings |
Access mode of a PV |
|
phase |
No |
String |
PV status. Possible values:
|
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 PersistentVolume. Default value: PersistentVolume |
|
metadata |
PersistentVolumeMetadata object |
PV metadata information. |
|
spec |
PersistentVolumeSpec object |
PV specifications. |
|
status |
PersistentVolumeStatus object |
PV status information. |
|
Parameter |
Type |
Description |
|---|---|---|
|
name |
String |
PV name. Enter 1 to 253 characters that start and end with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. PV names must be unique in a namespace. |
|
labels |
Map<String,String> |
PV labels, in the format of key-value pairs.
Example label: "foo": "bar" |
|
Parameter |
Type |
Description |
|---|---|---|
|
flexVolume |
FlexVolume object |
FlexVolume storage plug-in of Kubernetes. |
|
persistentVolumeReclaimPolicy |
String |
PV reclaim policy. Possible values:
|
|
accessModes |
Array of strings |
Access mode of the PV.
|
|
Parameter |
Type |
Description |
|---|---|---|
|
driver |
String |
Name of the FlexVolume storage plug-in. Set this parameter based on the storage volume type.
|
|
fsType |
String |
File system type. Set this parameter based on the storage volume type.
|
|
options |
Options object |
FlexVolume configuration items. |
|
Parameter |
Type |
Description |
|---|---|---|
|
fsType |
String |
File system type. Set this parameter based on the storage volume type.
|
|
region |
String |
Region where the cloud storage is located. |
|
volumeID |
String |
UUID of the cloud storage. If the cloud storage is an OBS bucket, set this parameter to the bucket name. |
|
storageType |
String |
Cloud storage volume type.
|
|
Parameter |
Type |
Description |
|---|---|---|
|
accessModes |
Array of strings |
Access mode of a PV |
|
phase |
String |
PV status. Possible values:
|
Example Requests
- Specify an EVS volume ID and create a PV (in a v1.9 cluster).
{ "apiVersion" : "v1", "kind" : "PersistentVolume", "metadata" : { "labels" : { "name" : "pv-test" }, "name" : "pv-test" }, "spec" : { "accessModes" : [ "ReadWriteMany" ], "flexVolume" : { "driver" : "huawei.com/fuxivol", "fsType" : "ext4", "options" : { "fsType" : "ext4", "kubernetes.io/namespace" : "default", "region" : "southchina", "volumeID" : "76e01b29-08b9-11e8-9ca5-1051722006ec", "storageType" : "bs" } }, "persistentVolumeReclaimPolicy" : "Delete" } } -
{ "apiVersion" : "v1", "kind" : "PersistentVolume", "metadata" : { "labels" : { "name" : "pv-test" }, "name" : "pv-test" }, "spec" : { "accessModes" : [ "ReadWriteMany" ], "flexVolume" : { "driver" : "huawei.com/fuxivol", "fsType" : "ext4", "options" : { "fsType" : "ext4", "region" : "southchina", "volumeID" : "76e01b29-08b9-11e8-9ca5-1051722006ec", "storageType" : "bs" } }, "persistentVolumeReclaimPolicy" : "Delete" } }
Example Responses
Status code: 201
The job for creating a PV has been delivered.
{
"kind" : "PersistentVolume",
"apiVersion" : "v1",
"metadata" : {
"name" : "pv-test",
"namespace" : "default",
"selfLink" : "/api/v1/namespaces/default/persistentvolumes/pv-test",
"uid" : "e174188f-ff21-11e7-855b-fa163eaf5675",
"resourceVersion" : "174229",
"creationTimestamp" : "2018-01-22T03:11:03Z",
"labels" : {
"name" : "pv-test"
},
"enable" : true
},
"spec" : {
"capacity" : {
"storage" : "1Gi"
},
"accessModes" : [ "ReadWriteMany" ],
"flexVolume" : {
"driver" : "huawei.com/fuxivol",
"fsType" : "ext4",
"options" : {
"fsType" : "ext4",
"kubernetes.io/namespace" : "default",
"volumeID" : "0781b22f-4d89-4e9c-b026-80e545cea16c"
}
},
"persistentVolumeReclaimPolicy" : "Delete"
},
"status" : {
"phase" : "Pending"
}
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
The job for creating a PV has been delivered. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot