Consulta de detalhes sobre um disco EVS
Função
Esta API é usada para consultar detalhes sobre um único disco EVS. A autorização do projeto empresarial é suportada.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v2/{project_id}/cloudvolumes/{volume_id}
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. |
volume_id |
Sim |
String |
O ID do disco. |
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âmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
volume |
VolumeDetail object |
Detalhes do disco. |
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 Attachment objects |
As informações de anexo do disco. |
availability_zone |
String |
A AZ à qual o disco pertence. |
os-vol-host-attr:host |
String |
O campo reservado. |
source_volid |
String |
O ID do disco de origem. Este parâmetro tem um valor se o disco for criado a partir de um disco de origem. Este campo não é suportado no momento. |
snapshot_id |
String |
O ID do snapshot. Este parâmetro tem um valor se o disco for criado a partir de um snapshot. |
description |
String |
A descrição do disco. |
created_at |
String |
A hora em que o disco foi criado. Formato da hora: UTC AAAA-MM-DDTHH:MM:SS.XXXXXX |
os-vol-tenant-attr:tenant_id |
String |
O ID do locatário ao qual o disco pertence. O ID do locatário é o mesmo que o ID do projeto. |
volume_image_metadata |
Map<String,Object> |
Os metadados da imagem de disco.
NOTA:
Para obter detalhes sobre o campo volume_image_metadata, consulte Consulta de detalhes da imagem (API OpenStack nativo). |
volume_type |
String |
O tipo de disco. O valor pode ser SATA, SAS, GPSSD, SSD, ESSD, GPSSD2 ou ESSD2.
|
size |
Integer |
O tamanho do disco, em GiB. |
consistencygroup_id |
String |
O campo reservado. |
bootable |
String |
Se o disco é inicializável. true: o disco é inicializável. false: o disco não é inicializável. |
metadata |
Map<String,Object> |
Os metadados do disco. __system__cmkid: O ID da CMK de encriptação em metadata. Este parâmetro é utilizado em conjunto com __system__encrypted para encriptação. O comprimento do ID da CMK é fixado em 36 bytes. Para obter detalhes sobre como obter o ID de chave, consulte Consulta da lista de chaves. __system__encrypted O campo de encriptação nos metadata. O valor pode ser 0 (não criptografado) ou 1 (criptografado). Se esse parâmetro não for especificado, o atributo de encriptação do disco será o mesmo da fonte de dados. Se o disco não for criado a partir de uma fonte de dados, o disco não será criptografado por padrão. full_clone O método de criação quando o disco é criado a partir de um snapshot.
hw:passthrough
orderID O parâmetro que descreve o modo de cobrança do disco em metadata. Se esse parâmetro tiver um valor, o disco será cobrado anualmente/mensalmente. Se esse parâmetro não for especificado, o disco será cobrado em uma base de pagamento por uso. |
updated_at |
String |
A hora em que o disco foi atualizado. Formato da hora: UTC AAAA-MM-DDTHH:MM:SS.XXXXXX |
encrypted |
Boolean |
Este campo não é suportado no momento. |
replication_status |
String |
O campo reservado. |
os-volume-replication:extended_status |
String |
O campo reservado. |
os-vol-mig-status-attr:migstat |
String |
O campo reservado. |
os-vol-mig-status-attr:name_id |
String |
O campo reservado. |
shareable |
String |
Se o disco é compartilhável. O valor pode ser true (compartilhável) ou false (não compartilhável). Este campo foi preterido. Use multiattach. |
user_id |
String |
O campo reservado. |
service_type |
String |
O tipo de serviço. Os serviços suportados são EVS, DSS e DESS. |
multiattach |
Boolean |
Se o disco é compartilhável. |
dedicated_storage_id |
String |
O ID do pool de armazenamento dedicado que aloja o disco. |
dedicated_storage_name |
String |
O nome do pool de armazenamento dedicado que aloja o disco. |
tags |
Map<String,String> |
As tags do disco. Este campo tem valores se o disco tiver tags. Ou, é deixado vazio. |
wwn |
String |
O identificador exclusivo usado ao anexar o disco. |
enterprise_project_id |
String |
O ID do projeto empresarial ao qual o disco foi adicionado. Para obter detalhes sobre como obter IDs de projeto empresarial e recursos de projeto empresarial, consulte Visão geral. |
serial_number |
String |
O número de série do disco. Esse campo é retornado somente para discos SCSI não HyperMetro e é usado para mapeamento de disco na VM. |
iops |
iops object |
As informações de IOPS do disco. Este parâmetro é retornado apenas para um disco SSD V2 de uso geral ou um disco SSD V2 extremo. |
throughput |
throughput object |
As informações de taxa de transferência do disco. Este parâmetro é retornado apenas para um disco SSD V2 de uso geral. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
href |
String |
O link de atalho correspondente. |
rel |
String |
O nome do marcador do link de atalho. |
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 |
---|---|---|
frozened |
Boolean |
A tag congelada. Padrão: false |
id |
String |
O ID do IOPS do disco. |
total_val |
Integer |
O IOPS. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
frozened |
Boolean |
A tag congelada. Padrão: false |
id |
String |
O ID da taxa de transferência. |
total_val |
Integer |
A taxa de transferência. |
Código de status: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
A mensagem de erro retornada se ocorrer um erro. Para obter detalhes, consulte Parâmetros no campo error. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
code |
String |
O código de erro retornado se ocorrer um erro. Para os 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
GET https://{endpoint}/v2/{project_id}/cloudvolumes/{volume_id}
Exemplo de respostas
Código de status: 200
As informações do disco são retornadas.
{ "volume" : { "attachments" : [ ], "links" : [ { "href" : "https://volume.az0.dc1.domainname.com/v2/40acc331ac784f34842ba4f08ff2be48/volumes/591ac654-26d8-41be-bb77-4f90699d2d41", "rel" : "self" }, { "href" : "https://volume.az0.dc1.domainname.com/40acc331ac784f34842ba4f08ff2be48/volumes/591ac654-26d8-41be-bb77-4f90699d2d41", "rel" : "bookmark" } ], "availability_zone" : "az-dc-1", "os-vol-host-attr:host" : "az-dc-1#SSD", "multiattach" : true, "updated_at" : "2016-02-03T02:19:29.895237", "replication_status" : "disabled", "id" : "591ac654-26d8-41be-bb77-4f90699d2d41", "size" : 40, "user_id" : "fd03ee73295e45478d88e15263d2ee4e", "os-vol-tenant-attr:tenant_id" : "40acc331ac784f34842ba4f08ff2be48", "metadata" : { }, "tags" : { "key1" : "value1", "key2" : "value2" }, "status" : "available", "description" : "auto-created_from_restore_from_backup", "name" : "restore_backup_0115efb3-678c-4a9e-bff6-d3cd278238b9", "bootable" : "false", "created_at" : "2016-02-03T02:19:11.723797", "service_type" : "EVS", "wwn" : " 688860300000d136fa16f48f05992360" } }
Código de status: 400
Bad Request
{ "error" : { "message" : "XXXX", "code" : "XXX" } }
Código de amostra do SDK
O código de amostra do SDK é o seguinte.
Java
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 |
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.*; public class ShowVolumeSolution { 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"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); EvsClient client = EvsClient.newBuilder() .withCredential(auth) .withRegion(EvsRegion.valueOf("<YOUR REGION>")) .build(); ShowVolumeRequest request = new ShowVolumeRequest(); try { ShowVolumeResponse response = client.showVolume(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
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 |
# coding: utf-8 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 = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = EvsClient.new_builder() \ .with_credentials(credentials) \ .with_region(EvsRegion.value_of("<YOUR REGION>")) \ .build() try: request = ShowVolumeRequest() response = client.show_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
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 |
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") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := evs.NewEvsClient( evs.EvsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ShowVolumeRequest{} response, err := client.ShowVolume(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Mais
Para obter o código de amostra do SDK de mais linguagens de programação, consulte a guia Código de amostra no API Explorer. O código de amostra do SDK pode ser gerado automaticamente.
Códigos de status
Código de status |
Descrição |
---|---|
200 |
As informações do disco são retornadas. |
400 |
Bad Request |
Códigos de erro
Consulte Códigos de erro.