Creación de BMS
Función
Esta API se utiliza para crear una o más BMS.
Fondo para configurar el modo de autenticación de inicio de sesión
El inicio de sesión en un BMS se puede autenticar mediante un par de claves o una contraseña. Por motivos de seguridad, se recomienda utilizar la autenticación de pares de claves.
- Par de claves
Se utiliza un par de claves para la autenticación de inicio de sesión en BMS.
Método para invocar a las API: Use el campo key_name para especificar el archivo de clave usado para iniciar sesión en el BMS. Para obtener más información sobre el uso del campo key_name, consulte Tabla 2.
- Contraseña
Si elige la contraseña inicial para la autenticación en un BMS, puede iniciar sesión en un BMS utilizando el nombre de usuario y su contraseña inicial. La contraseña inicial del usuario root se utiliza para la autenticación en Linux.
Métodos para invocar las API:
- Método 1 (recomendado): Utilice el campo adminPass para especificar la contraseña inicial de inicio de sesión de la cuenta de administrador especificada. Para obtener más información acerca de cómo utilizar el campo adminPass, consulte Tabla 2.
NOTA:
Para los BMS de Linux con Cloud-Init, si se especifica el campo user_data, el campo adminPass no es válido.
- Método 2:
- Para los BMS de Linux con Cloud-Init, utilice el campo user_data para inyectar datos. Para obtener más información, consulte Tabla 2.
NOTA:
Las imágenes públicas contienen Cloud-Init o Cloudbase-Init de forma predeterminada. Para las imágenes privadas, debe comprobar si Cloud-Init o Cloudbase-Init está instalado.
- Método 1 (recomendado): Utilice el campo adminPass para especificar la contraseña inicial de inicio de sesión de la cuenta de administrador especificada. Para obtener más información acerca de cómo utilizar el campo adminPass, consulte Tabla 2.
Restricciones
- No se admite la inyección de archivos.
- Actualmente, solo se pueden crear BMS anuales/mensuales.
- Las imágenes del mercado no se pueden utilizar para crear los BMS.
Precauciones
- Si se utiliza la autenticación de AK/SK, establezca la región en el código de ejemplo basándose en la columna Region de la sección "Bare Metal Server (BMS)" en Regiones y puntos de conexión y establezca serviceName (abreviatura de nombre de servicio) en BMS.
- Para obtener más información acerca de los puntos de conexión, consulte la columna Endpoint de la sección "Bare Metal Server (BMS)" en Regiones y puntos de conexión.
URI
POST /v1/{project_id}/baremetalservers
Tabla 1 enumera los parámetros.
Parámetro |
Obligatorio |
Descripción |
---|---|---|
project_id |
Sí |
Especifica el ID del proyecto. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
server |
Sí |
Object |
Especifica la información del BMS. Para obtener más información, consulte Tabla 2. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
||||||
---|---|---|---|---|---|---|---|---|---|
imageRef |
Sí |
String |
Especifica el ID de imagen o el URL del recurso de imagen utilizado para crear el BMS. El ID tiene el formato de un identificador único universal (UUID). Puede obtener el ID de la imagen desde la consola de IMS o siguiendo las instrucciones de Consulta de imágenes en la Referencia de las API de Image Management Service. Al usar una API para consultar imágenes, puede agregar el campo ?virtual_env_type=Ironic para filtrar las imágenes del BMS. |
||||||
flavorRef |
Sí |
String |
Especifica el ID de variante del BMS. El formato es physical.x.x. Puede obtener el ID de variante desde la consola de BMS o usando la API Consulta de detalles de la variante y de información de la variante extendida. Para obtener más información sobre las imágenes compatibles con los diferentes tipos de BMS, consulte la sección SO compatibles con diferentes tipos de BMS. Solo los tenants de DeC pueden solicitar BMS usando la variante physical.x.x.hba, y solo los discos de DESS se pueden adjuntar a BMS usando esta variante. |
||||||
name |
Sí |
String |
Especifica el nombre del BMS. Rango de valores:
|
||||||
metadata |
Sí |
Object |
Especifica los metadatos del BMS. El tamaño máximo de los metadatos key y value es de 255 caracteres. Para obtener más información, véase Tabla 3. |
||||||
user_data |
No |
String |
Especifica los datos de usuario que se inyectarán durante la creación del BMS. Se pueden inyectar texto. Restricciones:
Requerimientos de complejidad de la contraseña:
Un ejemplo es el siguiente:
donde, $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig es la contraseña de texto cifrado, que se puede generar de la siguiente manera:
La inyección de datos no es compatible con BMS que utilizan una imagen de Linux y el modo de inicio de sesión con contraseña. Para obtener más información sobre cómo inyectar datos de usuario, consulte Inyección de datos de usuario en BMS. |
||||||
adminPass |
No |
String |
Especifica la contraseña de inicio de sesión inicial de la cuenta de administrador para iniciar sesión en un BMS mediante autenticación de contraseña. El administrador de Linux es root.
Requerimientos de complejidad de la contraseña:
|
||||||
key_name |
No |
String |
Especifica el nombre de un par de claves. Este es un atributo extendido. Para iniciar sesión en un BMS con un par de claves de SSH, establezca el valor en el nombre de una clave privada existente. Puedes crear un par de claves usando la API de Creación o importación de un par de claves de SSH (API nativa de OpenStack) o consultar los pares de claves existentes usando la API de Consulta de pares de claves de SSH (API nativa de OpenStack). Restricciones:
|
||||||
security_groups |
No |
Array of objects |
Especifica los grupos de seguridad del BMS. Para obtener más información, véase Tabla 4. |
||||||
nics |
Sí |
Array of objects |
Especifica las NIC del BMS. Para obtener más información, consulte Tabla 5. Restricciones: Se puede conectar un máximo de dos NIC a un BMS. El primero se utilizará como la NIC principal. Si se especifican varias NIC, asegúrese de que todas las NIC pertenecen a la misma VPC. |
||||||
availability_zone |
Sí |
String |
Especifica el nombre de la AZ donde se encuentra el BMS. Consulte la sección Regiones y puntos de conexión. |
||||||
vpcid |
Sí |
String |
Especifica el ID de la VPC a la que pertenece el BMS. El valor está en formato UUID. Puede obtener el ID de VPC desde la consola de red o siguiendo las instrucciones en Consulta de detalles de VPC de la Referencia de la API de Virtual Private Cloud. |
||||||
publicip |
No |
Object |
Especifica la información de EIP del BMS. Los valores posibles incluyen:
Para obtener más información, véase Tabla 7. |
||||||
count |
No |
Integer |
Especifica el número de BMS que se van a crear. Restricciones:
|
||||||
root_volume |
No |
Object |
Especifica las configuraciones de disco del sistema BMS. Para obtener más información, véase Tabla 8. Restricciones: Si la variante admite el aprovisionamiento rápido, este parámetro es obligatorio. De lo contrario, este parámetro no es necesario. Para ver cómo comprobar si un variante admite el aprovisionamiento rápido, consulte Consulta de detalles sobre los parámetros extra_specs de una variante de BMS (API nativa de OpenStack). |
||||||
data_volumes |
No |
Array of objects |
Especifica las configuraciones de disco de datos del BMS. Cada estructura de datos representa un disco de datos a crear. Para obtener más información, véase Tabla 9. Restricciones: Se puede conectar un máximo de 60 discos de EVS (incluido el disco del sistema y los discos de datos) a un BMS. |
||||||
extendparam |
Sí |
Object |
Especifica el complemento para crear el BMS. Para obtener más información, véase Tabla 10. |
||||||
schedulerHints |
No |
Object |
Especifica la información de programación del BMS. Este parámetro es obligatorio para crear un BMS en un DeC. Para obtener más información, consulte Tabla 11. |
||||||
server_tags |
No |
List <resource_tag> |
Especifica las etiquetas del BMS. Para obtener más información, consulte Tabla 12. Se puede agregar un máximo de 10 etiquetas a un BMS. __type_baremetal es una etiqueta interna del sistema. Por lo tanto, puede agregar un máximo de nueve etiquetas. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
op_svc_userid |
Sí |
String |
Especifica el ID de usuario. Puede obtener el ID de usuario de My Credential en la consola de gestión. |
BYOL |
No |
String |
Especifica si se proporciona una licencia. El valor puede ser true o false. |
admin_pass |
No |
String |
Especifica la contraseña inicial de la cuenta de administrador para iniciar sesión en un BMS. Para Linux, la cuenta de administrador es root.
Requerimientos de complejidad de la contraseña:
|
agency_name |
No |
String |
Especifica el nombre de la delegación de IAM. Una delegación proporciona una credencial de seguridad temporal para acceder a un BMS. La representación es creada por el administrador de tenants en la consola IAM. Para obtener y actualizar una delegación, realice los siguientes pasos:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
id |
No |
String |
Especifica el ID del grupo de seguridad, que tiene efecto para todas las NIC configuradas para BMS.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
subnet_id |
Sí |
String |
Especifica la información de subred de una NIC del BMS. El valor debe ser el ID de la subred (network_id) creada en la VPC especificada por vpcid y en el formato de UUID. Puede obtener el ID de subred (network_id) desde la consola de VPC o siguiendo las instrucciones en la sección Consulta de subredes en la Referencia de las API de Virtual Private Cloud. |
ip_address |
No |
String |
Especifica la dirección IPv4 de una NIC del BMS. Restricciones:
|
allowed_address_pairs |
No |
Array of allow_address_pair objects |
Especifica los pares de direcciones IP/MAC permitidos. Para obtener más información, consulte Tabla 6 (atributo extendido). La dirección IP no puede ser 0.0.0.0/0.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
ip_address |
No |
String |
Especifica la dirección IP. La dirección IP no puede ser 0.0.0.0/0. Configure un grupo de seguridad dedicado para el puerto si el parámetro allowed_address_pairs tiene un bloque CIDR grande (máscara de subred menor que 24). |
mac_address |
No |
String |
Specifies the MAC address. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
id |
No |
String |
Especifica el ID de una EIP existente asignado a BMS. El valor está en formato UUID.You can obtain the EIP ID from the network console or by following the instructions in Querying EIPs in Elastic IP API Reference. Restricciones:
|
eip |
No |
Object |
Especifica la configuración para crear una EIP que se asignará automáticamente al BMS. Para obtener más información, consulte Tabla 13. |
Puede configurar id y eip en el campo publicip pero no ambos.
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
volumetype |
Sí |
String |
Especifica el tipo de disco del sistema del BMS. El tipo de disco debe coincidir con el tipo de disco disponible.
|
size |
Sí |
Integer |
Especifica el tamaño del disco del sistema (GB). El valor oscila entre 40 y 1024. Restricciones: El tamaño del disco del sistema debe ser mayor o igual al tamaño mínimo del disco del sistema de la imagen (atributo min_disk). |
cluster_id |
No |
String |
Especifica el ID del grupo de almacenamiento al que pertenece el disco del sistema del BMS.
|
cluster_type |
No |
String |
Especifica el tipo de almacenamiento del disco del sistema del BMS. Un valor de ejemplo es DSS, que indica el servicio de DSS.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
volumetype |
Sí |
String |
Especifica el tipo de disco de datos del BMS. El tipo de disco debe coincidir con el tipo de disco disponible.
|
size |
Sí |
Integer |
Especifica el tamaño del disco de datos (GB). El valor oscila entre 10 y 32768. |
shareable |
No |
Boolean |
Especifica si el disco es compatible.
El valor predeterminado es false. |
cluster_id |
No |
String |
Especifica el ID del grupo de almacenamiento al que pertenecen los discos de datos del BMS.
|
cluster_type |
No |
String |
Especifica el tipo de almacenamiento de los discos de datos del BMS. Un valor de ejemplo es DSS, que indica el servicio de DSS.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
chargingMode |
No |
String |
Especifica el modo de facturación. Rango de valores: prePaid (predeterminado): facturación anual/mensual |
regionID |
No |
String |
Especifica el identificador de la región donde reside el BMS. Consulte la sección Regiones y puntos de conexión. |
periodType |
No |
String |
Especifica el período de suscripción. Rango de valores:
Este parámetro es válido y obligatorio si chargingMode está configurado en prePaid. |
periodNum |
No |
Integer |
Especifica el número de períodos de suscripción. Rango de valores:
Este parámetro es válido y obligatorio si chargingMode está configurado en prePaid. |
isAutoRenew |
No |
String |
Especifica si la renovación automática está habilitada.
Este parámetro es válido cuando chargingMode se establece en prePaid. Si este parámetro no se especifica o se deja en blanco, se deshabilita la renovación automática. |
isAutoPay |
No |
String |
Especifica si el pedido se paga automáticamente o manualmente.
Este parámetro es válido cuando chargingMode se establece en prePaid. Si este parámetro no se especifica o se deja en blanco, se requiere un pago manual. |
enterprise_project_id |
No |
String |
Especifica el ID del proyecto de empresa. Si este parámetro no se especifica o se establece en 0, los recursos estarán enlazados al proyecto de empresa predeterminado. Para obtener más información sobre las características del proyecto empresarial y cómo obtener los ID de proyecto empresarial, consulta la Referencia de la API de gestión de Enterprise Management. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
dec_baremetal |
No |
String |
Especifica si se debe crear el BMS en un DeC. El valor puede ser share o dedicate. Restricciones:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
Sí |
String |
Especifica la clave de etiqueta.
|
value |
No |
String |
Especifica el valor de etiqueta.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
iptype |
Sí |
String |
Especifica el tipo de la EIP. Valores enumerados: 5_bgp y 5_sbgp Para obtener más información, consulte el campo publicip en la sección Asignación de una EIP de la Referencia de las API de Elastic IP. |
bandwidth |
Sí |
Object |
Especifica el ancho de banda de EIP. Para obtener más información, consulte Tabla 14. |
extendparam |
Sí |
Object |
Proporciona la información adicional sobre la EIP. Para obtener más información, consulte Tabla 15. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
No |
String |
Especifica el nombre del ancho de banda. |
sharetype |
Sí |
String |
Especifica el tipo de uso compartido de ancho de banda. El valor PER indica el ancho de banda dedicado y WHOLE indica el ancho de banda compartido. |
id |
No |
String |
Especifica el ID del ancho de banda compartido. Puede especificar un ancho de banda compartido existente al solicitar una EIP con un ancho de banda WHOLE. Este parámetro es obligatorio cuando sharetype se establece en WHOLE. |
size |
Sí |
Integer |
|
chargemode |
No |
String |
Especifica el modo de facturación del ancho de banda. El valor puede ser traffic o bandwidth.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
chargingMode |
Sí |
String |
Especifica el modo de facturación de una EIP. Si bandwidth cobra el ancho de banda, tanto prePaid como postPaid estarán disponibles para EIP. Si traffic cobra el ancho de banda, solo postPaid estará disponible para EIP. Rango de valores:
Si sharetype en el campo bandwidth se establece en WHOLE con un ID especificado, solo se permiten las EIP de pago por uso. El parámetro prePaid no está disponible. |
Ejemplo de solicitud
- Creación de un BMS (ID de la imagen: 766a545a-02e1-433e-b1d1-733b5dc95e94; variante: physical.s3.large; facturación: anual/mensual; inicio de sesión remoto: contraseña)
1
POST https://{BMS Endpoint}/v1/{project_id}/baremetalservers
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
{ "server": { "availability_zone": "az1", "name": "bms-75c7", "imageRef": "766a545a-02e1-433e-b1d1-733b5dc95e94", "flavorRef": "physical.s3.large", "data_volumes": [ { "volumetype": "SAS", "size": 10, "shareable": false } ], "vpcid": "8df83bf2-fd2e-4ee0-9692-c0b7736513fb", "nics": [ { "subnet_id": "c6bb8788-4fd1-4a8f-adab-7eba3bed8616", "ip_address": "" } ], "count": 1, "schedulerHints": { "dec_baremetal": "share" }, "extendparam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 1, "isAutoRenew": "true", "isAutoPay": "true", "regionID": "region01" }, "metadata": { "op_svc_userid": "59781460e9e54886a7d03df7d3f3fc81", "BYOL": "false", "admin_pass": "" }, "publicip": { "id": "1b036bce-26b4-465c-acea-99fdbb0573a3" }, "user_data": "IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiR0Y0pZamUkNGhhUHlNZFR4VWVHc2dTMWFmL1NsMm4vbXZzdy5wSFdjbTVBc084OWFhUFhGNXUvVnJ5OXJiYmZZSW45SmZac2k3SlRmd2Z6djJPbTBHRFZUZTd6RDEnIHwgY2hwYXNzd2QgLWU7", "security_groups": [ { "id": "993f2916-5bad-4f24-bc3c-db539f1a6d19" } ] } }
- Creación de un BMS de Linux en AZ1 (nombre: bms-3b91; ID de la imagen: 766a545a-02e1-433e-b1d1-733b5dc95e94; variante: physical.o2.large; facturación: anual/mensual; inicio de sesión remoto: par de claves)
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 55 56 57 58 59 60 61 62
{ "server": { "availability_zone": "az1", "name": "bms-3b91", "imageRef": "766a545a-02e1-433e-b1d1-733b5dc95e94", "flavorRef": "physical.o2.large", "data_volumes": [ { "volumetype": "SAS", "size": 10, "shareable": true } ], "vpcid": "8df83bf2-fd2e-4ee0-9692-c0b7736513fb", "nics": [ { "subnet_id": "c6bb8788-4fd1-4a8f-adab-7eba3bed8616", "ip_address": "" }, { "subnet_id": "2b8bcf33-33f2-4a63-aa9c-b1e17ff0ed7f", "ip_address": "" } ], "count": 1, "schedulerHints": { "dec_baremetal": "share" }, "extendparam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 1, "isAutoRenew": "true", "isAutoPay": "true", "regionID": "region01" }, "metadata": { "op_svc_userid": "59781460e9e54886a7d03df7d3f3fc81", "BYOL": "false" }, "publicip": { "eip": { "iptype": "5_bpg", "bandwidth": { "chargemode": "", "name": "bms-3b91-bandwidth", "size": 1, "sharetype": "PER" }, "extendparam": { "chargingMode": "prePaid" } } }, "security_groups": [ { "id": "993f2916-5bad-4f24-bc3c-db539f1a6d19" } ], "key_name": "KeyPair-zbb29" } }
The following is an example of user_data generated by Java:
1 2 3
String userData_org = "#!/bin/bash \r\n echo 'root:xxxxx' | chpasswd ;"; byte[] userData_byte = userData_org.getBytes(); String userData = new BASE64Encoder().encode(userData_byte);
- Creación de un BMS de Windows en AZ1 (nombre: bms-6a1e; ID de la imagen: fd04041a-5f35-45ae-a27c-bf30f921c6b5; facturación: anual/mensual; variante: físico.s3.largecharged; inicio de sesión remoto: par de claves)
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
{ "server": { "availability_zone": "az1", "name": "bms-6a1e", "imageRef": "fd04041a-5f35-45ae-a27c-bf30f921c6b5", "flavorRef": "physical.s3.large", "data_volumes": [ { "volumetype": "SAS", "size": 10, "shareable": false } ], "vpcid": "0adc2847-c160-4263-be1f-e03d36e93e32", "nics": [ { "subnet_id": "4f1cf6cc-4cc3-41d3-8192-625293dccce0", "ip_address": "" } ], "count": 1, "schedulerHints": { "dec_baremetal": "share" }, "extendparam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 1, "isAutoRenew": "true", "isAutoPay": "true", "regionID": "region1" }, "metadata": { "op_svc_userid": "8a74baed155b47e8b59fbca853d6cb48", "BYOL": "false" }, "publicip": { "id": "db9c4f39-fabd-4cc2-8685-82e7715d099f" }, "user_data": "cWF6PTEyMw==", "security_groups": [ { "id": "33cf5e40-0b65-4e03-867d-4c67947c49be" } ], "key_name": "KeyPair-Maoz" } }
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
order_id |
String |
Especifica el ID de pedido devuelto después de enviar un pedido. Puede consultar el progreso del procesamiento del pedido basado en el ID. Para consultar el progreso del procesamiento de pedidos, inicie sesión en la consola de gestión y elija Billing > My Orders. |
job_id |
String |
Especifica el ID de tarea devuelto después de ejecutar un comando de tarea. El ID de tarea se puede utilizar para consultar el estado de ejecución de la tarea. Para obtener más información acerca de cómo consultar el estado de ejecución de la tarea basado en job_id, consulte Consulta de estados de tareas. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Dictionary data structure [1] |
Especifica el error devuelto cuando un envío de tareas encuentra una excepción. Para obtener más información, consulte Tabla 18. |
Parámetro |
Tipo |
Descripción |
---|---|---|
message |
String |
Especifica el mensaje de error. |
code |
String |
Especifica el código de error. |
Ejemplo de respuesta
- Respuesta normal
{ "order_id": "CS2009141523OQSEQ", "job_id": "ff808081748b760c01748b7f80370003" }
Valores devueltos
Valores devueltos |
Descripción |
---|---|
200 |
La solicitud se ha procesado correctamente. |
Para obtener más información sobre otros valores devueltos, consulte Códigos de estado.
Códigos de error
Véase Códigos de error.