Criação de discos EVS
Função
Essa API é usada para criar discos EVS.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
POST /v2/{project_id}/volumes
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
O ID do projeto. Para obter detalhes sobre como obter o ID de projeto, consulte Obtenção de um ID de projeto. |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
O token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é o token do usuário. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
volume |
Sim |
CinderCreateVolumeOption object |
As informações do disco a ser criado. Observação: a especificação de dois dos campos source_volid, snapshot_id e imageRef não é suportada. |
OS-SCH-HNT:scheduler_hints |
Não |
O parâmetro de agendamento. O campo dedicated_storage_id é suportado, indicando que os discos podem ser criados em pools de armazenamento do DSS. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
availability_zone |
Sim |
String |
A AZ onde você deseja criar o disco. Se a AZ especificada não existir ou for diferente da AZ à qual o backup pertence, o disco falhará ao ser criado. |
consistencygroup_id |
Não |
String |
O ID do grupo de consistência. Se esse parâmetro for especificado, o disco pertence a esse grupo de consistência. Esta função não está disponível no momento. |
description |
Não |
String |
A descrição do disco. Você pode inserir até 85 caracteres. |
imageRef |
Não |
String |
O ID da imagem. Se este parâmetro for especificado, o disco será criado a partir de uma imagem.
NOTA:
Discos do sistema do Bare Metal Server (BMS) não podem ser criados a partir de imagens do BMS. Para obter detalhes sobre como obter o ID de imagem, veja Consulta de imagens. |
metadata |
Não |
VolumeMetadata object |
Os metadados do disco. O comprimento de key e value em metadata não pode conter mais de 255 bytes. O campo metadata mostra apenas alguns parâmetros. Você pode especificar outros parâmetros com base em seus requisitos. value de um par de chave-valor em metadata não pode ser nulo. |
multiattach |
Não |
Boolean |
Se o disco é compartilhável. O valor padrão é false. verdadeiro: o disco é compartilhável. falso: o disco não pode ser compartilhado. Para obter detalhes, consulte |
name |
Não |
String |
O nome do disco. Você pode inserir até 64 caracteres. |
size |
Não |
Integer |
O tamanho do disco, em GiB. As restrições são as seguintes: Disco do sistema: 1 GiB a 1.024 GiB Disco de dados: 10 GiB a 32.768 GiB Este parâmetro é obrigatório quando você cria um disco vazio. Se você criar o disco a partir de um snapshot, esse parâmetro será obrigatório e o tamanho do disco deverá ser maior ou igual ao tamanho do snapshot. Se você criar o disco a partir de uma imagem, esse parâmetro será obrigatório e o tamanho do disco deverá ser maior ou igual à capacidade mínima exigida pelo atributo de imagem min_disk. |
snapshot_id |
Não |
String |
O ID do snapshot. Se esse parâmetro for especificado, o disco será criado a partir de um snapshot. |
source_replica |
Não |
String |
Este parâmetro indica que o disco foi clonado de outro disco. Esta função não está disponível no momento. |
source_volid |
Não |
String |
O ID do disco de origem. Se este parâmetro for especificado, o disco será clonado a partir de um disco existente. Esta função não é suportada no momento. |
volume_type |
Sim |
String |
O tipo de disco. O valor pode ser SATA, SAS, GPSSD, SSD, ESSD, GPSSD2 ou ESSD2.
NOTA:
Ao criar um disco a partir de um snapshot, verifique se o tipo de disco do novo disco é consistente com o do disco de origem do snapshot. Para obter detalhes sobre os tipos de disco, consulte Valores de enumeração:
|
iops |
Não |
Integer |
O IOPS configurado. Este parâmetro é obrigatório apenas quando um SSD de uso geral V2 ou um disco SSD extremo V2 é criado.
NOTA:
|
throughput |
Não |
Integer |
A taxa de transferência configurada, na unidade de MiB/s. Este parâmetro é obrigatório somente quando um disco SSD V2 de uso geral é criado.
NOTA:
- Para saber a faixa de taxa de transferência de discos SSD V2 de uso geral, consulte a tabela de dados de desempenho do EVS em Tipos e desempenho de disco.
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
__system__cmkid |
Não |
String |
O ID da CMK de encriptação em metadata. Este parâmetro é utilizado em conjunto com __system__encrypted para encriptação. O comprimento do cmkid é fixado em 36 bytes.
NOTA:
Use uma solicitação HTTPS para obter o ID da chave. Para obter detalhes, consulte Consulta da lista de chaves. |
__system__encrypted |
Não |
String |
O campo de encriptação nos metadata. O valor pode ser 0 (não criptografado) ou 1 (criptografado). Se esse parâmetro não aparecer, o disco não será criptografado. |
full_clone |
Não |
String |
Se o disco for criado a partir de um snapshot e a clonagem vinculada precisar ser usada, defina esse parâmetro como 0. |
hw:passthrough |
Não |
String |
Se esse parâmetro for definido como true, o tipo de dispositivo de disco será SCSI, o que permite que os SOs do ECS acessem diretamente a mídia de armazenamento subjacente. Os comandos de reserva SCSI são suportados. Se esse parâmetro for definido como false, o tipo de dispositivo de disco será VBD, que também é o tipo padrão. O VBD suporta apenas comandos simples de leitura/gravação de SCSI. Se esse parâmetro não estiver disponível, o tipo de dispositivo de disco será VBD. |
Parâmetros de resposta
Código de status: 202
Parâmetro |
Tipo |
Descrição |
---|---|---|
volume |
CreateVolumeDetail object |
As informações de disco criadas. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
O ID do disco. |
links |
Array of Link objects |
O URI do disco. |
name |
String |
O nome do disco. |
status |
String |
O status do disco. Para obter detalhes, consulte Status do disco EVS. |
attachments |
Array of VolumeAttachment objects |
As informações do anexo. |
availability_zone |
String |
A AZ à qual o disco pertence. |
bootable |
String |
Se o disco é inicializável. true: o disco é inicializável. false: o disco não é inicializável. |
encrypted |
Boolean |
Este campo não é suportado no momento. |
created_at |
String |
A hora em que o disco foi criado. Formato da hora: UTC AAAA-MM-DDTHH:MM:SS.XXXXXX |
description |
String |
A descrição do disco. |
volume_type |
String |
O tipo de disco. O valor pode ser SATA, SAS, GPSSD, SSD, ESSD, GPSSD2 ou ESSD2.
|
replication_status |
String |
O campo reservado. |
consistencygroup_id |
String |
O ID do grupo de consistência ao qual o disco pertence. |
source_volid |
String |
O ID do disco de origem. Este campo não é suportado no momento. |
snapshot_id |
String |
O ID do snapshot. |
metadata |
VolumeMetadata object |
Os metadados. |
size |
Integer |
O tamanho do disco, em GiB. |
user_id |
String |
O ID do usuário que usa o disco. |
updated_at |
String |
A hora em que o disco foi atualizado. |
shareable |
Boolean |
Se o disco é compartilhável. Observação: este campo foi preterido. Use multiattach. |
multiattach |
Boolean |
Se o disco é compartilhável. true: o disco é compartilhável. false: o disco não pode ser compartilhado. |
storage_cluster_id |
String |
O campo reservado. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
href |
String |
O link de atalho correspondente. |
rel |
String |
O nome do marcador do link de atalho. Padrão: next |
Parâmetro |
Tipo |
Descrição |
---|---|---|
attached_at |
String |
A hora em que o disco foi anexado. Formato da hora: UTC AAAA-MM-DDTHH:MM:SS.XXXXXX |
attachment_id |
String |
O ID do anexo. |
device |
String |
O nome do dispositivo. |
host_name |
String |
O nome do host físico que hospeda o servidor de nuvem ao qual o disco está anexado. |
id |
String |
O ID do disco anexado. |
server_id |
String |
O ID do servidor ao qual o disco está anexado. |
volume_id |
String |
O ID do disco. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
__system__cmkid |
String |
O ID da CMK de encriptação em metadata. Este parâmetro é utilizado em conjunto com __system__encrypted para encriptação. O comprimento do cmkid é fixado em 36 bytes.
NOTA:
Use uma solicitação HTTPS para obter o ID da chave. Para obter detalhes, consulte Consulta da lista de chaves. |
__system__encrypted |
String |
O campo de encriptação em metadata. O valor pode ser 0 (não criptografado) ou 1 (criptografado). Se esse parâmetro não aparecer, o disco não será criptografado. |
full_clone |
String |
Se o disco for criado a partir de um snapshot e a clonagem vinculada precisar ser usada, defina esse parâmetro como 0. |
hw:passthrough |
String |
Se esse parâmetro for definido como true, o tipo de dispositivo de disco será SCSI, o que permite que os SOs do ECS acessem diretamente a mídia de armazenamento subjacente. Os comandos de reserva SCSI são suportados. Se esse parâmetro for definido como false, o tipo de dispositivo de disco será VBD, que também é o tipo padrão. O VBD suporta apenas comandos simples de leitura/gravação de SCSI. Se esse parâmetro não estiver disponível, o tipo de dispositivo de disco será VBD. |
Código de status: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
A mensagem de erro retornada se ocorrer um erro. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
code |
String |
O código de erro retornado se ocorrer um erro. Para obter detalhes sobre códigos de erro e seus significados, consulte Códigos de erro. |
message |
String |
A mensagem de erro retornada se ocorrer um erro. |
Exemplo de solicitações
Criar um disco EVS (use uma imagem para criar um disco EVS não compartilhado no pool de armazenamento DSS. Defina o tipo de disco como I/O comum, o tipo de dispositivo como SCSI e o tamanho do disco como 40 GiB.)
POST https://{endpoint}/v2/{project_id}/volumes { "volume" : { "name" : "openapi_vol01", "imageRef" : "027cf713-45a6-45f0-ac1b-0ccc57ac12e2", "availability_zone" : "xxx", "description" : "create for api test", "volume_type" : "SATA", "metadata" : { "hw:passthrough" : "true" }, "consistencygroup_id" : null, "source_volid" : null, "snapshot_id" : null, "multiattach" : false, "source_replica" : null, "size" : 40 }, "OS-SCH-HNT:scheduler_hints" : { "dedicated_storage_id" : "eddc1a3e-4145-45be-98d7-bf6f65af9767" } }
Exemplo de respostas
Código de status: 202
Accepted
{ "volume" : { "attachments" : [ ], "availability_zone" : "xxx", "bootable" : "false", "created_at" : "2016-05-25T02:38:40.392463", "description" : "create for api test", "encrypted" : false, "id" : "8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "links" : [ { "href" : "https://volume.localdomain.com:8776/v2/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "rel" : "self" }, { "href" : "https://volume.localdomain.com:8776/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "rel" : "bookmark" } ], "metadata" : { "__system__encrypted" : 0 }, "name" : "openapi_vol01", "replication_status" : "disabled", "multiattach" : false, "size" : 40, "status" : "creating", "user_id" : "39f6696ae23740708d0f358a253c2637", "volume_type" : "SATA" } }
Código de status: 400
Bad Request
{ "error" : { "message" : "XXXX", "code" : "XXX" } }
Códigos de status
Código de status |
Descrição |
---|---|
202 |
Accepted |
400 |
Bad Request |
Códigos de erro
Consulte Códigos de erro.