Creación de una imagen
Función
Esta API se utiliza para crear una imagen privada. Se admiten los siguientes métodos:
- Crear una imagen de sistema o de disco de datos a partir de un .
- Crear una imagen de disco del sistema a partir de un archivo de imagen externo cargado en un bucket de OBS.
- Crear una imagen de disco del sistema a partir de un disco de datos.
La API es asincrónica. Si se invoca correctamente, el sistema de servicio en la nube recibe la solicitud. Sin embargo, debe usar la API de consulta de trabajo asincrónica para consultar el estado de creación de imágenes. Para obtener más información, véase Consulta del estado de un trabajo asincrónico.
Huawei Cloud ha dejado de proporcionar imágenes de Windows. Esta API ya no se utilizará para crear imágenes de Windows.
Restricciones
- Creación de una imagen privada mediante un archivo de imagen externo
Para obtener más información sobre las restricciones de los archivos de imagen externos, consulte Preparación de un archivo de imagen (Windows) o Preparación de un archivo de imagen (Linux).
- Creación de una imagen de disco del sistema mediante un disco de datos
Antes de utilizar un disco de datos para crear una imagen de disco del sistema, asegúrese de que se haya instalado un sistema operativo en el disco de datos y que se haya optimizado. Para obtener más detalles sobre la optimización, consulte Optimización de una imagen privada de Windows (Windows) y Optimización de una imagen privada de Linux (Linux).
El sistema no puede comprobar que se ha instalado un sistema operativo en el disco de datos. Por lo tanto, asegúrese de que el valor de os_version es válido al crear una imagen de disco del sistema a partir del disco de datos. Para obtener más información, véase Valores de parámetros relacionados.
URI
POST /v2/cloudimages/action
Solicitud
- Parámetros para crear un sistema o una imagen de disco de datos a partir de un
Parámetro
Obligatorio
Tipo
Descripción
name
Sí
String
Especifica el nombre de la imagen de disco del sistema. Para una descripción detallada, consulte Atributos de imagen.
description
No
String
Proporciona información adicional sobre la imagen. Para obtener más información, véase Atributos de imagen. El valor contiene un máximo de 1024 caracteres y consta solo de letras y dígitos. No se permiten retornos de carro ni corchetes angulares (< >). Este parámetro se deja en blanco por defecto.
instance_id
Sí
String
Especifica el ID del utilizado para crear la imagen.
Para obtener el ID del , realice las siguientes operaciones:
- Inicie sesión en la consola de gestión.
- En Computing, haga clic en Elastic Cloud Server.
- En la lista ECS, haga clic en el nombre del y vea su ID.
data_images
No
Array of objects
Especifica la información del disco de datos que se va a convertir. Este parámetro es obligatorio cuando el disco de datos de un se utiliza para crear una imagen de disco de datos privado. Para obtener más información, véase Tabla 1.
Si el disco de datos ECS no se utiliza para crear una imagen de disco de datos, el parámetro está vacío de forma predeterminada.
NOTA:
Cuando se crea una imagen de disco de datos utilizando un disco de datos, si otros parámetros (como name, description, y tags) de esta tabla tienen valores, el sistema utiliza el valor de data_images. No se puede especificar instance_id.
tags
No
Array of strings
Muestra las etiquetas de imagen. Este parámetro se deja en blanco por defecto.
Usa tags o image_tags.
image_tags
No
Array of objects
Muestra las etiquetas de imagen. Este parámetro se deja en blanco por defecto.
Usa tags o image_tags.
enterprise_project_id
No
String
Especifica el proyecto empresarial al que pertenece la imagen.
- Si el valor es 0 o se deja en blanco, la imagen pertenece al proyecto empresarial predeterminado.
- Si el valor es un UUID, la imagen pertenece al proyecto empresarial correspondiente al UUID.
Para obtener más información sobre proyectos empresariales y cómo obtener los ID de proyectos empresariales, consulte Centro empresarial.
max_ram
No
Integer
Especifica la memoria máxima de la imagen en la unidad de MB.
min_ram
No
Integer
Especifica la memoria mínima de la imagen en la unidad de MB. El valor predeterminado es 0, lo que indica que la memoria no está restringida.
Tabla 1 Descripción de la estructura de datos del campo data_images Parámetro
Obligatorio
Tipo
Descripción
name
Sí
String
Especifica el nombre de una imagen de disco de datos.
volume_id
Sí
String
Especifica el ID del disco de datos.
description
No
String
Especifica la descripción del disco de datos.
tags
No
Array of strings
Especifica la etiqueta de imagen del disco de datos.
- Parámetros para crear una imagen usando un archivo de imagen cargado en el bucket de OBS
Parámetro
Obligatorio
Tipo
Descripción
name
Sí
String
Especifica el nombre de la imagen. Para una descripción detallada, consulte Atributos de imagen.
description
No
String
Proporciona información adicional sobre la imagen. Para una descripción detallada, consulte Atributos de imagen. El valor contiene un máximo de 1024 caracteres y consta solo de letras y dígitos. No se permiten retornos de carro ni corchetes angulares (< >). Este parámetro se deja en blanco por defecto.
os_type
No
String
Especifica el tipo de SO.
El valor puede ser Linux, Windows, u Other.
os_version
No
String
Especifica la versión del sistema operativo.
Este parámetro es válido si se utiliza un archivo de imagen externo cargado en el bucket de OBS para crear una imagen. Para su valor, consulte Valores de parámetros relacionados.
NOTA:
Si el archivo cargado está en formato ISO, este parámetro es obligatorio.
Este parámetro es obligatorio cuando el valor de is_quick_import es true, es decir, una imagen de disco del sistema se importa mediante el método de importación rápida.
license_type
No
String
Especifica el tipo de licencia del sistema operativo. El valor puede ser:
platform: licencia proporcionada por Huawei Cloud
byol: Traiga su propia licencia
Actualmente, este parámetro solo está disponible para Windows.
image_url
Sí
String
Especifica la dirección URL del archivo de imagen externo en el bucket de OBS.
Este parámetro es obligatorio si se utiliza un archivo de imagen externo en el bucket de OBS para crear una imagen. El formato es OBS bucket name:Image file name.
- Para obtener un nombre de bucket de OBS:
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
Todos los buckets de OBS se muestran en la lista.
- Filtre los buckets de OBS por región y localice el bucket de destino en la región actual.
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
- Para obtener un nombre de archivo de imagen de OBS:
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
Todos los buckets de OBS se muestran en la lista.
- Filtre los buckets de OBS por región y localice el bucket de destino en la región actual.
- Haga clic en el nombre del bucket de destino para ir a la página de detalles del bucket.
- En el panel de navegación de la izquierda, elija Objects para mostrar objetos en el bucket de OBS y, a continuación, busque el archivo de imagen externo utilizado para crear una imagen.
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
NOTA:
La clase de almacenamiento del bucket de OBS debe ser Standard.
min_disk
Sí
Integer
Especifica el tamaño mínimo del disco del sistema en la unidad de GB.
Este parámetro es obligatorio si se utiliza un archivo de imagen externo en el bucket de OBS para crear una imagen. El valor oscila entre 40 GB y 255 GB.
is_config
No
Boolean
Especifica si la configuración automática está habilitada.
El valor puede ser true o false.
Si se requiere una configuración automática, establezca el valor en true. De lo contrario, establezca el valor en false El valor predeterminado es false.
Para obtener más información sobre la configuración automática, consulte Registro de un archivo de imagen externo como una imagen privada (Linux).
cmk_id
No
String
Especifica una clave personalizada utilizada para cifrar una imagen. Consulte el Guía de usuario de Key Management Service para conocer su valor.
tags
No
Array of strings
Muestra las etiquetas de imagen. Este parámetro se deja en blanco por defecto.
Usa tags o image_tags.
image_tags
No
Array of objects
Muestra las etiquetas de imagen. Este parámetro se deja en blanco por defecto. Usa tags o image_tags.
enterprise_project_id
No
String
Especifica el proyecto empresarial al que pertenece la imagen.
- Si el valor es 0 o se deja en blanco, la imagen pertenece al proyecto empresarial predeterminado.
- Si el valor es un UUID, la imagen pertenece al proyecto empresarial correspondiente al UUID.
Para obtener más información sobre proyectos empresariales y cómo obtener los ID de proyectos empresariales, consulte Centro empresarial.
max_ram
No
Integer
Especifica la memoria máxima de la imagen en la unidad de MB.
min_ram
No
Integer
Especifica la memoria mínima requerida por la imagen en la unidad de MB. El valor predeterminado es 0, lo que indica que la memoria no está restringida.
data_images
No
Array of objects
Especifica la información del disco de datos que se va a importar.
Un archivo de imagen externo puede contener un máximo de tres discos de datos. En este caso, se creará un disco del sistema y tres discos de datos.
Para obtener más información, véase Tabla 2.
NOTA:
- Si se utiliza un archivo de imagen de disco de datos para crear una imagen de disco de datos, el tipo de sistema operativo de la imagen de disco de datos debe ser el mismo que el de la imagen de disco de sistema.
- Si se establecen otros parámetros (como name, description, y tags) en Tabla 2, el sistema utiliza los valores de data_images.
is_quick_import
No
Boolean
Especifica si se debe utilizar el método de importación rápida para importar una imagen de disco del sistema.
- Si es así, establezca el valor en true.
- Si no, establezca el valor en false.
Para obtener más información sobre las restricciones en la importación rápida de archivos de imagen, consulte Importación rápida de un archivo de imagen.
architecture
No
String
Especifica el tipo de arquitectura de imagen. Los valores disponibles incluyen:
- x86
- arm
El valor predeterminado es x86.
NOTA:
Si la arquitectura de imagen es ARM, el modo de arranque se cambia automáticamente a UEFI.
Tabla 2 Descripción de la estructura de datos del campo de imágenes Parámetro
Obligatorio
Tipo
Descripción
name
No
String
Especifica el nombre de la imagen.
Consulte Atributos de imagen para obtener más detalles.
description
No
String
Proporciona información adicional sobre la imagen. Este parámetro se deja en blanco por defecto.
El valor contiene un máximo de 1024 caracteres y consta solo de letras y dígitos. No se permiten retornos de carro ni corchetes angulares (< >).
Consulte Atributos de imagen para obtener más detalles.
image_url
Sí
String
Especifica la dirección URL del archivo de imagen externo en el bucket de OBS.
El formato es OBS bucket name:Image file name.
- Para obtener un nombre de bucket de OBS:
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
Todos los buckets de OBS se muestran en la lista.
- Filtre los buckets de OBS por región y localice el bucket de destino en la región actual.
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
- Para obtener un nombre de archivo de imagen de OBS:
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
Todos los buckets de OBS se muestran en la lista.
- Filtre los buckets de OBS por región y localice el bucket de destino en la región actual.
- Haga clic en el nombre del bucket de destino para ir a la página de detalles del bucket.
- En el panel de navegación de la izquierda, elija Objects para mostrar objetos en el bucket de OBS y, a continuación, busque el archivo de imagen externo utilizado para crear una imagen.
- Inicie sesión en la consola de gestión y seleccione Storage > Object Storage Service.
NOTA:
La clase de almacenamiento del bucket de OBS debe ser Standard.
min_disk
Sí
Integer
Especifica el tamaño mínimo del disco de datos.
Unidad: GB
Rango de valores: 1–2048
is_quick_import
No
Boolean
Especifica si un archivo de imagen se importa rápidamente para crear una imagen de disco de datos.
- Si es así, establezca el valor en true.
- Si no, establezca el valor en false.
Para obtener más información sobre las restricciones en la importación rápida de archivos de imagen, consulte Importación rápida de un archivo de imagen.
tags
No
Array of strings
Muestra las etiquetas de imagen. Este parámetro se deja en blanco por defecto.
Consulte Formatos de datos de etiquetas de imagen para obtener descripciones detalladas de los parámetros.
Usa tags o image_tags.
image_tags
No
Array of objects
Muestra las etiquetas de imagen. Este parámetro se deja en blanco por defecto.
Consulte Formatos de datos de etiquetas de imagen para obtener descripciones detalladas de los parámetros.
Usa tags o image_tags.
- Para obtener un nombre de bucket de OBS:
- Parámetros para crear una imagen de disco de sistema mediante un disco de datos
Parámetro
Obligatorio
Tipo
Descripción
name
Sí
String
Especifica el nombre de la imagen de disco del sistema.
Consulte Atributos de imagen para obtener más detalles.
volume_id
Sí
String
Especifica el ID del disco de datos.
os_version
Sí
String
Especifica la versión del sistema operativo.
Establecer el valor del parámetro en función del Valores de parámetros relacionados. De lo contrario, es posible que la imagen de disco del sistema creada no esté disponible.
Durante la creación de una imagen de disco del sistema, si el sistema operativo puede detectarse desde el disco de datos, se utiliza la versión del sistema operativo en el disco de datos. En este caso, el valor os_version no es válido. Si el sistema operativo se puede detectar desde el disco de datos, se utiliza el valor os_version.
type
No
Sting
Especifica el tipo de imagen.
El valor puede ser ECS, BMS, FusionCompute, o Ironic.
- ECS y FusionCompute: indican una imagen de .
- BMS e Ironic: indican una imagen de .
El valor predeterminado es ECS.
description
No
String
Especifica la descripción de la imagen. Este parámetro se deja en blanco por defecto. Para obtener más información, véase Atributos de imagen.
La descripción de la imagen debe cumplir los siguientes requisitos:
- Contiene solo letras y dígitos.
- No puede contener retornos de carro y corchetes angulares (< >).
- No puede superar los 1024 caracteres.
min_ram
No
Integer
Especifica el tamaño mínimo de memoria (MB) necesario para ejecutar la imagen.
El valor del parámetro depende de las especificaciones del . El valor predeterminado es 0.
max_ram
No
Integer
Especifica el tamaño máximo de memoria (MB) necesario para ejecutar la imagen.
El valor del parámetro depende de las especificaciones del . El valor predeterminado es 0.
tags
No
Array of strings
Especifica las etiquetas de la imagen. Este parámetro se deja en blanco por defecto.
Usa tags o image_tags.
image_tags
No
Array of objects
Especifica las etiquetas de la imagen. Este parámetro se deja en blanco por defecto.
Usa tags o image_tags.
enterprise_project_id
No
String
Especifica el proyecto empresarial al que pertenece la imagen.
- Si el valor es 0 o se deja en blanco, la imagen pertenece al proyecto empresarial predeterminado.
- Si el valor es un UUID, la imagen pertenece al proyecto empresarial correspondiente al UUID.
Para obtener más información sobre proyectos empresariales y cómo obtener los ID de proyectos empresariales, consulte Centro empresarial.
Ejemplo de solicitud
- Creación de una imagen de disco del sistema con el parámetro tags mediante un (ID: 877a2cda-ba63-4e1e-b95f-e67e48b6129a)
POST https://{Endpoint}/v2/cloudimages/action { "name": "ims_test", "description": "Create a system disk image from an ", "instance_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }
- Creación de una imagen de disco de datos con el parámetro tags utilizando un disco de datos (ID: c5dfbd0c-bf0a-4798-a453-61dc6b54aa30) de un
1 2 3 4 5 6 7 8 9 10 11 12
POST https://{Endpoint}/v2/cloudimages/action { "data_images": [{"name": "ims_data_image_test", "description": "Create a data disk image from the data disk of an ", "volume_id": "c5dfbd0c-bf0a-4798-a453-61dc6b54aa30", "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }] }
- Creación de una imagen con el parámetro tags mediante un archivo en un bucket de OBS (dirección del archivo en el bucket: ims-image:centos70.qcow2)
1 2 3 4 5 6 7 8 9 10 11 12 13
POST https://{Endpoint}/v2/cloudimages/action { "name": "ims_test_file", "description": "Create an image from a file in an OBS bucket", "image_url": "ims-image:centos70.qcow2", "os_version": "CentOS 7.0 64bit", "min_disk": 40, "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }
- Creación de una imagen de disco del sistema con el parámetro image_tags mediante un (ID: 877a2cda-ba63-4e1e-b95f-e67e48b6129a)
POST https://{Endpoint}/v2/cloudimages/action { "name": "ims_test", "description": "Create a system disk image from an ", "instance_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", "image_tags": [ { "key": "key2", "value": "value2" }, { "key": "key1", "value": "value1" } ] }
- Creación de una imagen de disco de datos con el parámetro image_tags utilizando un disco de datos (ID: c5dfbd0c-bf0a-4798-a453-61dc6b54aa30) de un
1 2 3 4 5 6 7 8
POST /v2/cloudimages/action { "data_images": [{"name": "ims_data_image_test", "description": "Create a data disk image from the data disk of an ", "volume_id": "c5dfbd0c-bf0a-4798-a453-61dc6b54aa30", "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] }] }
- Creación de una imagen con el parámetro image_tags mediante un archivo en un bucket de OBS (dirección del archivo en el bucket: ims-image:centos70.qcow2)
1 2 3 4 5 6 7 8 9
POST https://{Endpoint}/v2/cloudimages/action { "name": "ims_test_file", "description": "Create an image from a file in an OBS bucket", "image_url": "ims-image:centos70.qcow2", "os_version": "CentOS 7.0 64bit", "min_disk": 40, "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] }
- Creación de una imagen de disco del sistema con el parámetro tags mediante un disco de datos (ID: 877a2cda-ba63-4e1e-b95f-e67e48b6129a)
1 2 3 4 5 6 7 8 9 10 11 12 13
POST https://{Endpoint}/v2/cloudimages/action { "name": "ims_test", "description": "Create a system disk image from a data disk", "volume_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", "type": "ECS", "os_version": "CentOS 7.0 64bit", "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }
- Creación de una imagen de disco del sistema con el parámetro image_tags mediante un disco de datos (ID: 877a2cda-ba63-4e1e-b95f-e67e48b6129a)
1 2 3 4 5 6 7 8 9
POST https://{Endpoint}/v2/cloudimages/action { "name": "ims_test", "description": "Create a system disk image from a data disk", "volume_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", "type": "ECS", "os_version": "CentOS 7.0 64bit", "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] }
Respuesta
- Parámetros de respuesta
Parámetro
Tipo
Descripción
job_id
String
Especifica el ID de trabajo asincrónico.
Consulte Consulta del estado de un trabajo asincrónico para obtener más detalles.
- Ejemplo de respuesta
STATUS CODE 200
1 2 3
{ "job_id": "8a12fc664fb4daa3014fb4e581380005" }
Valores devueltos
- Normal
- Anormal
Valor devuelto
Descripción
400 Bad Request
Error de solicitud. Para obtener más información sobre el código de error devuelto, consulte Códigos de error.
401 Unauthorized
Error de autenticación.
403 Forbidden
Usted no tiene los derechos para realizar la operación.
404 Not Found
No se encontró el recurso solicitado.
500 Internal Server Error
Error interno del servicio.
503 Service Unavailable
El servicio no está disponible.