Creación de una imagen
Función
Esta API se utiliza para crear una imagen privada. Se admiten los siguientes métodos:
- Cree una imagen de disco del sistema o de datos a partir de un ECS.
- Cree una imagen de disco del sistema a partir de un archivo de imagen externo cargado en un bucket de OBS.
- Cree una imagen de disco del sistema a partir de un disco de datos.
La API es asíncrona. Si se llama 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 más detalles, consulte Consulta de Trabajo Asincrónico.
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 información sobre la optimización, consulte Optimización de una imagen privada de Windows y Optimización de una imagen privada de 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 más detalles, consulte Valores de parámetros relacionados.
URI
POST /v2/cloudimages/action
Solicitud
- Parámetros para crear una imagen de disco de datos o de sistema a partir de un ECS
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
Especifica la descripción de 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 y corchetes angulares (< >). Este parámetro se deja en blanco por defecto.
instance_id
Sí
String
Especifica el ID del ECS utilizado para crear la imagen.
Para obtener el ECS ID, realice las siguientes operaciones:
- Inicie sesión en la consola de gestión.
- En Computing, haga click en Elastic Cloud Server.
- En la lista ECS, haga clic en el nombre del ECS 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 ECS se utiliza para crear una imagen de disco de datos privado. Para más detalles, consulte 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
Especifica las etiquetas de la imagen. Este parámetro se deja en blanco por defecto.
Usar tags o image_tags.
image_tags
No
Array of objects
Specifies tags of the image. This parameter is left blank by default.
Usar tags o image_tags.
enterprise_project_id
No
String
Especifica el proyecto de empresa al que pertenece la imagen.
- Si el valor es 0 o se deja en blanco, la imagen pertenece al proyecto de empresa predeterminado.
- Si el valor es un UUID, la imagen pertenece al proyecto de empresa correspondiente al UUID.
Para obtener más información acerca de los proyectos de empresa y cómo obtener los ID de proyecto de empresa, consulte Centro de empresa.
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
Especifica la descripción de 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 y corchetes angulares (< >). Este parámetro se deja en blanco por defecto.
os_type
No
String
Especifica el tipo de sistema operativo.
El valor puede ser Linux, Windows, o 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.
image_url
Sí
String
Especifica la dirección URL del archivo de imagen externo en el bucket OBS.
Este parámetro es obligatorio si se utiliza un archivo de imagen externo en el bucket OBS para crear una imagen. El formato es OBS bucket name:Image file name.
- Para obtener un nombre de bucket 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 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 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 cucharón 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 OBS para crear una imagen. El valor varía de 40 GB a 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 la clave maestra utilizada para cifrar una imagen. Para conocer su valor, consulte la Guía del usuario de Key Management Service.
tags
No
Array of strings
Especifica las etiquetas de la imagen. El valor se deja en blanco de forma predeterminada.
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 de empresa al que pertenece la imagen.
- Si el valor es 0 o se deja en blanco, la imagen pertenece al proyecto de empresa predeterminado.
- Si el valor es un UUID, la imagen pertenece al proyecto de empresa correspondiente al UUID.
Para obtener más información acerca de los proyectos de empresa y cómo obtener los ID de proyecto de empresa, consulte Centro de empresa.
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 más detalles, consulte 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.
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.
Para más detalles, consulte Atributos de imagen.
description
No
String
Especifica el proyecto de empresa al que pertenece la imagen. El valor se deja en blanco de forma predeterminada.
El valor contiene un máximo de 1024 caracteres y consta solo de letras y dígitos. No se permiten retornos de carro y corchetes angulares (< >).
Para más detalles, consulte Atributos de imagen.
image_url
Sí
String
Especifica la dirección URL del archivo de imagen externo en el bucket OBS.
El formato es OBS bucket name:Image file name.
- Para obtener un nombre de bucket 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 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 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 cucharón 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
Especifica las etiquetas de la imagen. El valor se deja en blanco de forma predeterminada.
Para obtener descripciones detalladas de los parámetros, consulte Formatos de datos de etiquetas de imagen.
Usa tags o image_tags.
image_tags
No
Array of objects
Especifica las etiquetas de la imagen. El valor se deja en blanco de forma predeterminada.
Para obtener descripciones detalladas de los parámetros, consulte Formatos de datos de etiquetas de imagen.
Usa tags o image_tags.
- Para obtener un nombre de bucket 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.
Para más detalles, consulte Atributos de imagen.
volume_id
Sí
String
Especifica el ID del disco de datos.
os_version
Sí
String
Especifica la versión del sistema operativo.
Establezca el valor del parámetro basado en 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 ECS imagen.
- BMS e Ironic: indica una BMS imagen.
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 más detalles, consulte 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 ECS especificaciones. 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 ECS especificaciones. 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 de empresa al que pertenece la imagen.
- Si el valor es 0 o se deja en blanco, la imagen pertenece al proyecto de empresa predeterminado.
- Si el valor es un UUID, la imagen pertenece al proyecto de empresa correspondiente al UUID.
Para obtener más información acerca de los proyectos de empresa y cómo obtener los ID de proyecto de empresa, consulte Centro de empresa.
- Solicitudes de ejemplo
- Solicitud de creación de una imagen de disco del sistema con tags de parámetro usando un ECS
POST https://{Endpoint}/v2/cloudimages/action
{ "name": "ims_test", "description": "Create a system disk image from an ECS", "instance_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }
- Solicitud de creación de una imagen de disco de datos con tags de parámetro utilizando el disco de datos de un ECS
POST https://{Endpoint}/v2/cloudimages/action
1 2 3 4 5 6 7 8 9 10
"data_images": [{"name": "ims_data_image_test", "description": "Create a data disk image from the data disk of an ECS", "volume_id": "c5dfbd0c-bf0a-4798-a453-61dc6b54aa30", "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }] }
- Solicitud de creación de una imagen con tags de parámetros mediante un archivo de imagen externo cargado en el bucket OBS
POST https://{Endpoint}/v2/cloudimages/action
1 2 3 4 5 6 7 8 9 10 11 12 13 14
{ "name": "ims_test_file", "description": "Create an image from a file in the OBS bucket", "image_url": "ims-image:centos70.qcow2", "os_version": "CentOS 7.0 64bit", "is_config_init": true, "min_disk": 40, "is_config": true, "tags": [ "aaa.111", "bbb.333", "ccc.444" ] }
- Solicitud de creación de una imagen de disco del sistema con parámetro image_tags usando un ECS
POST https://{Endpoint}/v2/cloudimages/action
{ "name": "ims_test", "description": "Create a system disk image from an ECS", "instance_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", "image_tags": [ { "key": "key2", "value": "value2" }, { "key": "key1", "value": "value1" } ] }
- Solicitud de creación de una imagen de disco de datos con parámetro image_tags usando el disco de datos de un ECS
POST /v2/cloudimages/action
1 2 3 4 5 6 7
{ "data_images": [{"name": "ims_data_image_test", "description": "Create a data disk image from the data disk of an ECS", "volume_id": "c5dfbd0c-bf0a-4798-a453-61dc6b54aa30", "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] }] }
- Solicitud de creación de una imagen con parámetro image_tags usando un archivo de imagen externo cargado en el bucket OBS
POST https://{Endpoint}/v2/cloudimages/action
1 2 3 4 5 6 7 8 9 10
{ "name": "ims_test_file", "description": "Create an image from a file in the OBS bucket", "image_url": "ims-image:centos70.qcow2", "os_version": "CentOS 7.0 64bit", "is_config_init": true, "min_disk": 40, "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] }
- Solicitud de creación de una imagen de disco del sistema con tags de parámetros utilizando un disco de datos
POST https://{Endpoint}/v2/cloudimages/action
1 2 3 4 5 6 7 8 9 10 11 12
{ "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" ] }
- Solicitud de creación de una imagen de disco del sistema con parámetro image_tags usando un disco de datos
POST https://{Endpoint}/v2/cloudimages/action
1 2 3 4 5 6 7 8
{ "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"}] }
- Solicitud de creación de una imagen de disco del sistema con tags de parámetro usando un ECS
Respuesta
- Parámetros de respuesta
Parámetro
Tipo
Descripción
job_id
String
Especifica el ID de trabajo asincrónico.
Para más detalles, consulte Consulta de Trabajo Asincrónico.
- 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.