Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2026-04-23 GMT+08:00

Actualización de un disco de EVS

Función

Esta API se utiliza para actualizar el nombre y la descripción de un disco de EVS.

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

PUT /v2/{project_id}/cloudvolumes/{volume_id}

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

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

volume_id

String

Definición

El ID del disco.

Puede invocar la API Consulta de detalles sobre todos los discos de EVS para obtener el ID del disco.

Restricciones

N/D

Rango

N/D

Valor predeterminado

N/D

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

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

Tabla 3 Parámetros del cuerpo de la solicitud

Parámetro

Obligatorio

Tipo

Descripción

volume

UpdateVolumeOption object

Definición

La información del disco que se va a modificar.

Restricciones

N/D

Rango

N/D

Valor predeterminado

N/D

Tabla 4 UpdateVolumeOption

Parámetro

Obligatorio

Tipo

Descripción

description

No

String

Definición

La nueva descripción del disco.

Restricciones

name y description no pueden ser nulos. Puede contener un máximo de 85 caracteres.

Rango

N/D

Valor predeterminado

N/D

name

No

String

Definición

El nombre del disco nuevo.

Restricciones

name y description no pueden ser nulos. Puede contener un máximo de 64 caracteres.

Rango

N/D

Valor predeterminado

N/D

Parámetros de respuesta

Código de estado: 200

Tabla 5 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

attachments

Array of Attachment objects

Definición

Si el disco está conectado.

Rango

N/D

availability_zone

String

Definición

La AZ a la que pertenece el disco.

Rango

N/D

bootable

String

Definición

Si el disco es arrancable.

Rango

N/D

created_at

String

Definición

La hora en que se creó el disco.

Rango

N/D

id

String

Definición

El ID del disco.

Rango

N/D

links

Array of Link objects

Definición

El URI del disco.

Rango

N/D

metadata

VolumeMetadata object

Definición

Los metadatos del disco.

Rango

N/D

multiattach

Boolean

Definición

Si el disco es compartible.

Rango

N/D

name

String

Definición

El nombre del disco.

Rango

N/D

os-vol-host-attr:host

String

Definición

El campo reservado.

Rango

N/D

os-vol-tenant-attr:tenant_id

String

Definición

El ID del proyecto al que pertenece el disco.

Rango

N/D

shareable

String

Definición

Si el disco es compartible.

Rango

N/D

size

Integer

Definición

La capacidad del disco.

Rango

N/D

snapshot_id

String

Definición

El ID de la instantánea.

Rango

N/D

source_volid

String

Definición

El campo reservado.

Rango

N/D

status

String

Definición

El estado del disco.

Rango

Para obtener más información, consulte Estado del disco de EVS.

volume_image_metadata

Object

Definición

Los metadatos de la imagen del disco.

[Para obtener más información sobre el campo volume_image_metadata, consulte Consulta de detalles de imágenes (API nativa de OpenStack).]

Rango

N/D

volume_type

String

Definición

El tipo de disco.

Rango

N/D

description

String

Definición

La descripción del disco.

Rango

N/D

os-volume-replication:extended_status

String

Definición

El campo reservado.

Rango

N/D

Tabla 6 Attachment

Parámetro

Tipo

Descripción

attached_at

String

Definición

La hora en que se conectó el disco.

Rango

Formato de tiempo: UTC AAAA-MM-DDTHH:MM:SS.XXXXXX

attachment_id

String

Definición

El ID del adjunto.

Rango

N/D

device

String

Definición

El nombre del dispositivo.

Rango

N/D

host_name

String

Definición

El nombre del host físico que aloja el servidor en la nube al que está conectado el disco.

Rango

N/D

id

String

Definición

El ID del disco conectado.

Rango

N/D

server_id

String

Definición

El ID del servidor al que está conectado el disco.

Rango

N/D

volume_id

String

Definición

El ID del disco.

Rango

N/D

Tabla 8 VolumeMetadata

Parámetro

Tipo

Descripción

__system__cmkid

String

Definición

El ID del CMK de encriptación en metadata. Este parámetro se utiliza junto con __system__encrypted para la encriptación. La longitud de cmkid se fija en 36 bytes.

[Para obtener más información sobre cómo obtener el ID de clave, consulte Consulta de la lista de claves.]

Rango

N/D

__system__encrypted

String

Definición

El campo de encriptación en metadata. El valor puede ser 0 (sin encriptación) o 1 (encriptación).

Si este parámetro no se especifica, el atributo de encriptación del disco es el mismo que el del origen de datos. Si el disco no se crea a partir de un origen de datos, el disco no se cifra de forma predeterminada.

Rango

  • 0: no encriptación

  • 1: encriptación

hw:passthrough

String

Definición

El tipo de dispositivo de disco.

Rango

  • Si el valor de este parámetro es true, el tipo de dispositivo de disco es SCSI, lo que permite que los SO de ECS accedan directamente al medio de almacenamiento subyacente. Se admiten los comandos de reserva SCSI.

  • Si el valor de este parámetro es false, el tipo de dispositivo de disco es VBD (tipo de dispositivo predeterminado), que solo admite comandos simples de lectura/escritura SCSI.

  • Si no se especifica este parámetro, el tipo de dispositivo de disco es VBD.

orderID

String

Definición

El parámetro que describe el modo de facturación de disco de metadata.

Si este parámetro tiene un valor, el disco se factura anualmente/mensualmente. Si no se especifica este parámetro, el disco se factura en función del pago por uso.

Rango

N/D

Código de estado: 400

Tabla 9 Parámetros del cuerpo de respuesta

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

Tabla 10 Error

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

Actualización del nombre y la descripción del disco de EVS

PUT https://{endpoint}/v2/{project_id}/cloudvolumes/{volume_id}

{
  "volume" : {
    "name" : "test_volume",
    "description" : "test"
  }
}

Ejemplos de respuestas

Código de estado: 200

OK

{
  "id" : "36ba39af-3579-4e6e-adfc-b764349c0f77",
  "links" : [ {
    "href" : "https://volume.region.xxx.xxx-tsi.de/v2/3cfb09080bd944d0b4cdd72ef26857bd/volumes/36ba39af-3579-4e6e-adfc-b764349c0f77",
    "rel" : "self"
  }, {
    "href" : "https://volume.region.xxx.xxx-tsi.de/3cfb09080bd944d0b4cdd72ef26857bd/volumes/36ba39af-3579-4e6e-adfc-b764349c0f77",
    "rel" : "bookmark"
  } ],
  "name" : "newVolume",
  "status" : "in-use",
  "attachments" : [ {
    "server_id" : "c3d3250c-7ce5-42cc-b620-dd2b63d19ca5",
    "attachment_id" : "011a2bdb-a033-4479-845b-50bd8ed7f4d4",
    "attached_at" : "2017-05-23T11:27:38.604815",
    "volume_id" : "36ba39af-3579-4e6e-adfc-b764349c0f77",
    "device" : "/dev/sdf",
    "id" : "36ba39af-3579-4e6e-adfc-b764349c0f77"
  } ],
  "description" : "new volume",
  "multiattach" : false,
  "shareable" : false,
  "size" : 10,
  "metadata" : {
    "hw:passthrough" : "false"
  },
  "bootable" : "false",
  "availability_zone" : "az-dc-1",
  "created_at" : "2017-05-23T09:49:44.481299",
  "volume_type" : "SATA"
}

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

Actualización del nombre y la descripción del disco de EVS

 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
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 UpdateVolumeSolution {

    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();
        UpdateVolumeRequest request = new UpdateVolumeRequest();
        request.withVolumeId("{volume_id}");
        UpdateVolumeRequestBody body = new UpdateVolumeRequestBody();
        UpdateVolumeOption volumebody = new UpdateVolumeOption();
        volumebody.withDescription("test")
            .withName("test_volume");
        body.withVolume(volumebody);
        request.withBody(body);
        try {
            UpdateVolumeResponse response = client.updateVolume(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

Actualización del nombre y la descripción del disco de EVS

 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
# 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 = UpdateVolumeRequest()
        request.volume_id = "{volume_id}"
        volumebody = UpdateVolumeOption(
            description="test",
            name="test_volume"
        )
        request.body = UpdateVolumeRequestBody(
            volume=volumebody
        )
        response = client.update_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

Actualización del nombre y la descripción del disco de EVS

 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
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.UpdateVolumeRequest{}
	request.VolumeId = "{volume_id}"
	descriptionVolume:= "test"
	nameVolume:= "test_volume"
	volumebody := &model.UpdateVolumeOption{
		Description: &descriptionVolume,
		Name: &nameVolume,
	}
	request.Body = &model.UpdateVolumeRequestBody{
		Volume: volumebody,
	}
	response, err := client.UpdateVolume(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

200

OK

400

Bad Request

Códigos de error

Consulte Códigos de error.