Creación de discos de EVS
Función
Esta API se utiliza para crear un disco de EVS de pago por uso o anual/mensual.
Método de invocación
Para obtener más información, consulte Invocación de las API.
Información de autorización
Cada cuenta tiene todos los permisos necesarios para invocar todas las API, pero los usuarios de IAM deben tener asignados los permisos requeridos.
- Si está utilizando la autorización basada en roles/políticas, consulte Políticas de permisos y acciones admitidas para obtener más información sobre los permisos requeridos.
- Si está utilizando la autorización basada en políticas de identidad, no se requiere ningún permiso basado en políticas de identidad para invocar esta API.
URI
POST /v2.1/{project_id}/cloudvolumes
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| project_id | Sí | String | Definición El ID del proyecto. Para obtener más información, consulte Obtención de un ID de proyecto. Restricciones N/D Rango N/D Valor predeterminado N/D |
Parámetros de solicitud
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| X-Auth-Token | Sí | String | Definición El token de usuario. Puede obtenerlo invocando la API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario. Restricciones N/D Rango N/D Valor predeterminado N/D |
| X-Client-Token | No | String | Definición El identificador de idempotencia de una solicitud. Este valor de parámetro es generado por el cliente y debe ser único entre las solicitudes. El valor es una cadena de caracteres de 36 dígitos en formato UUID y es válido durante 8 horas. Si varias solicitudes contienen el mismo identificador idempotente, las solicitudes se consideran como la misma solicitud idempotente y se devuelve el mismo cuerpo de respuesta. Restricciones N/D Rango El valor es una cadena de caracteres de 36 dígitos en formato UUID y es válido durante 8 horas. Valor predeterminado N/D |
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| bssParam | No | BssParamForCreateVolume object | Definición El parámetro extendido de pago por uso y facturación anual/mensual. Restricciones N/D Rango N/D Valor predeterminado N/D |
| volume | Sí | CreateVolumeOption object | Definición La información del disco que se va a crear. Restricciones N/D Rango N/D Valor predeterminado N/D |
| server_id | No | String | Definición El servidor al que se conectará el disco. Restricciones El modo de facturación del disco creado será el mismo que el del servidor. Actualmente, solo se admiten los ECS. No se admiten los BMS. Rango N/D Valor predeterminado N/D |
| OS-SCH-HNT:scheduler_hints | No | CreateVolumeSchedulerHints object | Definición El parámetro de programación de discos. Se puede utilizar para crear el disco en un grupo de almacenamiento dedicado. Restricciones N/D Rango N/D Valor predeterminado N/D |
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| availability_zone | Sí | String | Definición La zona de disponibilidad donde desea crear el disco. Restricciones N/D Rango N/D Valor predeterminado N/D |
| backup_id | No | String | Definición El ID de copia de respaldo. Puede invocar la API de CBR Consulta de todas las copias de respaldo para obtener el ID de copia de respaldo. Restricciones Este parámetro es obligatorio cuando se crea el disco a partir de una copia de respaldo. Rango N/D Valor predeterminado N/D |
| count | No | Integer | Definición La cantidad de discos que se crearán en un lote. Restricciones Se pueden crear hasta 100 discos a la vez. Si no se especifica este parámetro, solo se creará un disco. Si el disco se crea a partir de una copia de respaldo, no se admite la creación por lotes y este parámetro debe ser 1. Si el valor especificado es un número decimal, se utilizará la parte entera de forma predeterminada. Rango N/D Valor predeterminado N/D |
| description | No | String | Definición La descripción del disco. Restricciones Puede contener un máximo de 85 caracteres. Rango N/D Valor predeterminado N/D |
| enterprise_project_id | No | String | Definición El ID del proyecto empresarial. Este ID se vincula al disco durante la creación del disco. Para obtener más información sobre los proyectos empresariales y cómo obtener los ID de proyectos empresariales, consulte Guía del usuario de Enterprise Management] Restricciones N/D Rango N/D Valor predeterminado N/D |
| imageRef | No | String | Definición El ID de la imagen. Si se especifica este parámetro, el disco se crea a partir de una imagen. Puede invocar a la API de IMS Consulta de imágenes para obtener el ID de la imagen. Restricciones N/D Rango N/D Valor predeterminado N/D |
| metadata | No | Map<String,String> | Definición La información de metadatos del disco. Los invocadores pueden agregar o eliminar la información de metadatos. Las claves de este parámetro utilizadas en EVS se describen a continuación:
[Para obtener más información sobre cómo obtener el ID de clave, consulte Consulta de la lista de claves.] Restricciones N/D Rango N/D Valor predeterminado N/D |
| multiattach | No | Boolean | Definición Si el disco es compartible. Restricciones N/D Rango El valor puede ser true (se puede compartir) o false (no se puede compartir). Valor predeterminado N/D |
| name | No | String | Definición El nombre del disco. Si crea un disco, el valor de name es el nombre del disco, que puede contener un máximo de 64 caracteres. Si crea varios discos (el valor count es mayor que 1), el sistema agrega automáticamente un guion seguido de un número incremental de cuatro dígitos, como -0000, al final de cada nombre de disco. Por ejemplo, los nombres de disco pueden ser volume-0001 y volume-0002. Restricciones N/D Rango N/D Valor predeterminado N/D |
| size | Sí | Integer | Definición La capacidad del disco, en GiB. Restricciones
Rango Valor predeterminado N/D |
| snapshot_id | No | String | Definición El ID de la instantánea. Si se especifica este parámetro, el disco se crea a partir de una instantánea. Puede invocar la API Consulta de detalles sobre instantáneas de EVS para obtener el ID de la instantánea. Restricciones N/D Rango N/D Valor predeterminado N/D |
| volume_type | Sí | String | Definición El tipo de disco. Para obtener más información sobre los diferentes tipos de disco, consulte Tipos de disco y rendimiento.Restricciones Si el tipo de disco especificado no está disponible en la AZ, el disco no se creará. Si crea el disco a partir de una instantánea, el valor de volume_type debe coincidir con el del disco de origen de la instantánea. Rango El valor puede ser SATA, SAS, GPSSD, SSD, ESSD o GPSSD2. |
| tags | No | Map<String,String> | Definición La información de la etiqueta del disco. Restricciones N/D Rango N/D Valor predeterminado N/D |
| sys_tags | No | Map<String,String> | Definición La información de la etiqueta del sistema de disco. Restricciones N/D Rango N/D Valor predeterminado N/D |
| iops | No | Integer | Definición Las IOPS configuradas para el disco. Restricciones Este parámetro es obligatorio cuando se adquieren discos SSD V2 de uso general. Este parámetro no está disponible para otros tipos de discos de EVS. Solo se admite la facturación de pago por uso. Rango Para conocer los rangos de IOPS de los discos SSD V2 de uso general, consulte la tabla de datos de rendimiento de EVS en Tipos de discos y rendimiento.Valor predeterminado N/D |
| throughput | No | Integer | Definición El throughput configurado para el disco. La unidad es MiB/s. Restricciones Este parámetro solo es obligatorio cuando se compra un disco SSD V2 de uso general. Solo se admite la facturación de pago por uso. Rango Para conocer el rango de throughput de los discos SSD V2 de uso general, consulte la tabla de datos de rendimiento de EVS en Tipos de discos y rendimiento.Valor predeterminado N/D |
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| dedicated_storage_id | No | String | Definición El ID del grupo de almacenamiento dedicado. Si se especifica este parámetro, el disco se creará en el grupo de almacenamiento especificado. Restricciones N/D Rango N/D Valor predeterminado N/D |
| architecture_type | No | String | Definición Arquitectura del grupo utilizado para crear discos. El valor puede ser arm o x86. Restricciones N/D Rango Arm o x86 Valor predeterminado N/D |
| fault_domain | No | String | Definición El dominio de fallas donde se crea el disco. Restricciones N/D Rango N/D Valor predeterminado N/D |
Parámetros de respuesta
Código de estado: 202
| Parámetro | Tipo | Descripción |
|---|---|---|
| job_id | String | Definición El ID de la tarea. Este parámetro se devuelve cuando el disco se factura en función del pago por uso. Para obtener más información sobre cómo consultar el estado de la tarea, consulte Consulta del estado de la tarea.Rango N/D |
| order_id | String | Definición El ID del pedido. Este parámetro se devuelve cuando se factura el disco anualmente/mensualmente.
Rango N/D |
| volume_ids | Array of strings | Definición Los ID de los discos que se van a crear.
Rango N/D |
Código de estado: 400
| Parámetro | Tipo | Descripción |
|---|---|---|
| error | Error object | Definición El código de error devuelto si se produce un error. Para obtener más información sobre el código de error, consulte Códigos de error. Rango N/D |
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | String | Definición El código de error devuelto si se produce un error. Rango Para obtener más información sobre el código de error, consulte Códigos de error. |
| message | String | Definición El mensaje de error devuelto si se produce un error. Rango N/D |
Ejemplos de solicitudes
-
Creación de un disco de EVS compartido y encriptado en el grupo de almacenamiento 1b6198f2-20a6-5dcc-aa21-58c1af5dc488 (Desplegar el disco en AZ 1 de CN-Hong Kong. Establezca el nombre del disco en EVS-Test, el tipo de dispositivo en SCSI, el tipo de disco en E/S alta y el tamaño en 10 GiB.)
POST https://{endpoint}/v2.1/{project_id}/cloudvolumes { "volume" : { "availability_zone" : "ap-southeast-1a", "size" : 10, "name" : "EVS-Test", "volume_type" : "SAS", "metadata" : { "hw:passthrough" : "true", "__system__encrypted" : "1", "__system__cmkid" : "94257794-d7aa-462c-9eaa-9f32c05b9966", "region" : "ap-southeast-1" }, "multiattach" : true, "enterprise_project_id" : "0" }, "OS-SCH-HNT:scheduler_hints" : { "dedicated_storage_id" : "1b6198f2-20a6-5dcc-aa21-58c1af5dc488" } } -
Creación de un disco EVS compartido (crear el disco en AZ1 de la región CN-Hong Kong. Establezca el nombre del disco en EVS-Test2, el tipo en SSD V2 de uso general, IOPS en 5,000, throughput en 500 MiB/s, la capacidad en 100 GiB y el período de suscripción en tres meses. Agregue las etiquetas al disco. Habilite la renovación automática. Se le facturará el disco inmediatamente después de realizar el pedido.)
POST https://{endpoint}/v2.1/{project_id}/cloudvolumes { "volume": { "count": 1, "availability_zone": "ap-southeast-1", "size": 100, "name": "EVS-Test2", "volume_type": "GPSSD2", "metadata": {}, "tags": { "key_string": "value_string" }, "iops": 5000, "throughput": 500, "multiattach": 1 }, "bssParam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 3, "isAutoPay": true, "isAutoRenew": true, } }
Ejemplos de respuestas
Código de estado: 202
Accepted
{
"job_id" : "70a599e0-31e7-49b7-b260-868f441e862b",
"volume_ids" : [ "e1fa3e72-8c92-4871-9152-bf66fef0afe9" ]
} Código de estado: 400
Bad Request
{
"error" : {
"message" : "XXXX",
"code" : "XXX"
}
} Código de ejemplo del SDK
El código de ejemplo del SDK es el siguiente.
Java
-
Creación de un disco de EVS compartido y encriptado en el grupo de almacenamiento 1b6198f2-20a6-5dcc-aa21-58c1af5dc488 (Desplegar el disco en AZ 1 de CN-Hong Kong. Configure el nombre del disco en EVS-Test, el tipo de dispositivo en SCSI, el tipo de disco en E/S alta y el tamaño en 10 GiB.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.evs.v2.region.EvsRegion; import com.huaweicloud.sdk.evs.v2.*; import com.huaweicloud.sdk.evs.v2.model.*; import java.util.Map; import java.util.HashMap; public class CreateVolumeSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); EvsClient client = EvsClient.newBuilder() .withCredential(auth) .withRegion(EvsRegion.valueOf("<YOUR REGION>")) .build(); CreateVolumeRequest request = new CreateVolumeRequest(); CreateVolumeRequestBody body = new CreateVolumeRequestBody(); CreateVolumeSchedulerHints osschhntschedulerhintsbody = new CreateVolumeSchedulerHints(); osschhntschedulerhintsbody.withDedicatedStorageId("1b6198f2-20a6-5dcc-aa21-58c1af5dc488"); Map<String, String> listVolumeMetadata = new HashMap<>(); listVolumeMetadata.put("hw:passthrough", "true"); listVolumeMetadata.put("__system__encrypted", "1"); listVolumeMetadata.put("__system__cmkid", "94257794-d7aa-462c-9eaa-9f32c05b9966"); listVolumeMetadata.put("region", "ap-southeast-1"); CreateVolumeOption volumebody = new CreateVolumeOption(); volumebody.withAvailabilityZone("ap-southeast-1a") .withEnterpriseProjectId("0") .withMetadata(listVolumeMetadata) .withMultiattach(true) .withName("EVS-Test") .withSize(10) .withVolumeType(CreateVolumeOption.VolumeTypeEnum.fromValue("SAS")); body.withOsSCHHNTSchedulerHints(osschhntschedulerhintsbody); body.withVolume(volumebody); request.withBody(body); try { CreateVolumeResponse response = client.createVolume(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
-
Creación de un disco EVS compartido (crear el disco en AZ1 de la región CN-Hong Kong. Establezca el nombre del disco en EVS-Test2, el tipo en SSD V2 de uso general, IOPS en 5,000, throughput en 500 MiB/s, la capacidad en 100 GiB y el período de suscripción en tres meses. Agregue las etiquetas al disco. Habilite la renovación automática. Se le facturará el disco inmediatamente después de realizar el pedido.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.evs.v2.region.EvsRegion; import com.huaweicloud.sdk.evs.v2.*; import com.huaweicloud.sdk.evs.v2.model.*; import java.util.Map; import java.util.HashMap; public class CreateVolumeSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); EvsClient client = EvsClient.newBuilder() .withCredential(auth) .withRegion(EvsRegion.valueOf("<YOUR REGION>")) .build(); CreateVolumeRequest request = new CreateVolumeRequest(); CreateVolumeRequestBody body = new CreateVolumeRequestBody(); Map<String, String> listVolumeTags = new HashMap<>(); listVolumeTags.put("key_string", "value_string"); CreateVolumeOption volumebody = new CreateVolumeOption(); volumebody.withAvailabilityZone("ap-southeast-1") .withCount(1) .withMultiattach(1) .withName("EVS-Test2") .withSize(100) .withVolumeType(CreateVolumeOption.VolumeTypeEnum.fromValue("GPSSD2")) .withTags(listVolumeTags) .withIops(5000) .withThroughput(500); BssParamForCreateVolume bssParambody = new BssParamForCreateVolume(); bssParambody.withChargingMode(BssParamForCreateVolume.ChargingModeEnum.fromValue("prePaid")) .withIsAutoPay(BssParamForCreateVolume.IsAutoPayEnum.fromValue("true")) .withIsAutoRenew(BssParamForCreateVolume.IsAutoRenewEnum.fromValue("true")) .withPeriodNum(3) .withPeriodType(BssParamForCreateVolume.PeriodTypeEnum.fromValue("month")); body.withVolume(volumebody); body.withBssParam(bssParambody); request.withBody(body); try { CreateVolumeResponse response = client.createVolume(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
Python
-
Creación de un disco de EVS compartido y encriptado en el grupo de almacenamiento 1b6198f2-20a6-5dcc-aa21-58c1af5dc488 (Desplegar el disco en AZ 1 de CN-Hong Kong. Configure el nombre del disco en EVS-Test, el tipo de dispositivo en SCSI, el tipo de disco en E/S alta y el tamaño en 10 GiB.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkevs.v2.region.evs_region import EvsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkevs.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = EvsClient.new_builder() \ .with_credentials(credentials) \ .with_region(EvsRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateVolumeRequest() osschhntschedulerhintsbody = CreateVolumeSchedulerHints( dedicated_storage_id="1b6198f2-20a6-5dcc-aa21-58c1af5dc488" ) listMetadataVolume = { "hw:passthrough": "true", "__system__encrypted": "1", "__system__cmkid": "94257794-d7aa-462c-9eaa-9f32c05b9966", "region": "ap-southeast-1" } volumebody = CreateVolumeOption( availability_zone="ap-southeast-1a", enterprise_project_id="0", metadata=listMetadataVolume, multiattach=True, name="EVS-Test", size=10, volume_type="SAS" ) request.body = CreateVolumeRequestBody( os_sch_hn_tscheduler_hints=osschhntschedulerhintsbody, volume=volumebody ) response = client.create_volume(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
Creación de un disco EVS compartido (crear el disco en AZ1 de la región CN-Hong Kong. Establezca el nombre del disco en EVS-Test2, el tipo en SSD V2 de uso general, IOPS en 5,000, throughput en 500 MiB/s, la capacidad en 100 GiB y el período de suscripción en tres meses. Agregue las etiquetas al disco. Habilite la renovación automática. Se le facturará el disco inmediatamente después de realizar el pedido.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkevs.v2.region.evs_region import EvsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkevs.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = EvsClient.new_builder() \ .with_credentials(credentials) \ .with_region(EvsRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateVolumeRequest() listTagsVolume = { "key_string": "value_string" } volumebody = CreateVolumeOption( availability_zone="ap-southeast-1", count=1, multiattach=1, name="EVS-Test2", size=100, volume_type="GPSSD2", tags=listTagsVolume, iops=5000, throughput=500 ) bssParambody = BssParamForCreateVolume( charging_mode="prePaid", is_auto_pay="true", is_auto_renew="true", period_num=3, period_type="month" ) request.body = CreateVolumeRequestBody( volume=volumebody, bss_param=bssParambody ) response = client.create_volume(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
Go
-
Creación de un disco de EVS compartido y encriptado en el grupo de almacenamiento 1b6198f2-20a6-5dcc-aa21-58c1af5dc488 (Desplegar el disco en AZ 1 de CN-Hong Kong. Configure el nombre del disco en EVS-Test, el tipo de dispositivo en SCSI, el tipo de disco en E/S alta y el tamaño en 10 GiB.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" evs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := evs.NewEvsClient( evs.EvsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateVolumeRequest{} dedicatedStorageIdOSSCHHNTschedulerHints:= "1b6198f2-20a6-5dcc-aa21-58c1af5dc488" osschhntschedulerhintsbody := &model.CreateVolumeSchedulerHints{ DedicatedStorageId: &dedicatedStorageIdOSSCHHNTschedulerHints, } var listMetadataVolume = map[string]string{ "hw:passthrough": "true", "__system__encrypted": "1", "__system__cmkid": "94257794-d7aa-462c-9eaa-9f32c05b9966", "region": "ap-southeast-1", } enterpriseProjectIdVolume:= "0" multiattachVolume:= true nameVolume:= "EVS-Test" volumebody := &model.CreateVolumeOption{ AvailabilityZone: "ap-southeast-1a", EnterpriseProjectId: &enterpriseProjectIdVolume, Metadata: listMetadataVolume, Multiattach: &multiattachVolume, Name: &nameVolume, Size: int32(10), VolumeType: model.GetCreateVolumeOptionVolumeTypeEnum().SAS, } request.Body = &model.CreateVolumeRequestBody{ OSSCHHNTschedulerHints: osschhntschedulerhintsbody, Volume: volumebody, } response, err := client.CreateVolume(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
-
Creación de un disco EVS compartido (crear el disco en AZ1 de la región CN-Hong Kong. Establezca el nombre del disco en EVS-Test2, el tipo en SSD V2 de uso general, IOPS en 5,000, throughput en 500 MiB/s, la capacidad en 100 GiB y el período de suscripción en tres meses. Agregue las etiquetas al disco. Habilite la renovación automática. Se le facturará el disco inmediatamente después de realizar el pedido.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" evs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := evs.NewEvsClient( evs.EvsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateVolumeRequest{} var listTagsVolume = map[string]string{ "key_string": "value_string", } countVolume:= int32(1) multiattachVolume:= 1 nameVolume:= "EVS-Test2" iopsVolume:= int32(5000) throughputVolume:= int32(500) volumebody := &model.CreateVolumeOption{ AvailabilityZone: "ap-southeast-1", Count: &countVolume, Multiattach: &multiattachVolume, Name: &nameVolume, Size: int32(100), VolumeType: model.GetCreateVolumeOptionVolumeTypeEnum().GPSSD2, Tags: listTagsVolume, Iops: &iopsVolume, Throughput: &throughputVolume, } chargingModeBssParam:= model.GetBssParamForCreateVolumeChargingModeEnum().PRE_PAID isAutoPayBssParam:= model.GetBssParamForCreateVolumeIsAutoPayEnum().TRUE isAutoRenewBssParam:= model.GetBssParamForCreateVolumeIsAutoRenewEnum().TRUE periodNumBssParam:= int32(3) periodTypeBssParam:= model.GetBssParamForCreateVolumePeriodTypeEnum().MONTH bssParambody := &model.BssParamForCreateVolume{ ChargingMode: &chargingModeBssParam, IsAutoPay: &isAutoPayBssParam, IsAutoRenew: &isAutoRenewBssParam, PeriodNum: &periodNumBssParam, PeriodType: &periodTypeBssParam, } request.Body = &model.CreateVolumeRequestBody{ Volume: volumebody, BssParam: bssParambody, } response, err := client.CreateVolume(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
Más
Para obtener el código de ejemplo de SDK de más lenguajes de programación, consulte la pestaña Código de ejemplo en Explorador de API. El código de ejemplo del SDK se puede generar automáticamente.
Códigos de estado
| Código de estado | Descripción |
|---|---|
| 202 | Accepted |
| 400 | Bad Request |
Códigos de error
Consulte Códigos de error.