API REST de proveedores de infraestructura física de Lenovo
Una referencia al API REST de proveedores de infraestructura física de Lenovo
Resumen
Capítulo 1. API REST
Puede utilizar el API REST para obtener información sobre los proveedores, los proveedores de infraestructura física y los servidores físicos. Puede utilizar el API REST de CloudForms si necesita información sobre los servidores en su infraestructura física.
Antes de comenzar
Para usar el API REST, debe iniciar sesión en CloudForms Management Engine API como usuario con permiso para acceder al API. El usuario predeterminado es admin y la contraseña es smartvm.
Use esta URL para acceder al API REST de CloudForms:
<CloudForms_address>:<port>/api
Por ejemplo:
localhost:3000/api
1.1. Obtener detalles sobre el proveedor
Para obtener información de todos los proveedores, utilice la siguiente URL:
GET <CloudForms_address>:<port>/api/providers
Se devolverá una respuesta JSON con las siguientes llaves.
acciones (listado de acciones que se pueden usar) total (número total de proveedores) nombre (nombre de URI) páginas (total de páginas) recurso (listado de URL para cada proveedor administrado por CloudForms) subtotal (número de proveedores devueltos)
Ejemplos
Para obtener información sobre los proveedores, utilice el parámetro de consulta ?expand=resources , como por ejemplo:
GET localhost:3000/api/providers?expand=resources
Para obtener un dato específico sobre los proveedores (como el nombre y ID), utilice el parámetro de consulta ?expand=resources , como por ejemplo:
GET localhost:3000/ api/providers?expand=resources&attributes=id,name
Para obtener información adicional sobre los proveedores (como el puerto, hostname y dirección de IP), utilice ?expand=resources parámetros de consulta, como por ejemplo:
GET localhost:3000/api/providers?expand=resources&attributes=port,hostname,ipaddress
Para obtener información únicamente sobre proveedores de infraestructura física de Lenovo, utilice el atributo ?expand=resources&filter[]=type=<provider_type> para todos los recursos de proveedores, por ejemplo:
GET localhost:3000/api/providers?expand=resources&filter[]=type=ManageIQ::Providers::Lenovo::PhysicalInfraManager
1.2. Obtener detalles del proveedor por ID
Para obtener información de un proveedor específico, utilice la siguiente URL en donde <provider_ID> es el identificador único del proveedor:
GET <CloudForms_address>:<port>/api/providers/<provider_ID>
Se devolverá una respuesta JSON con las siguientes llaves.
href id name created_on updated_on guid zone_id type last_refresh_date tenant_id enabled options actions
Ejemplos
Para obtener un dato específico sobre el proveedor (como el nombre y ID), utilice el parámetro de consulta ?expand=resources , por ejemplo:
GET localhost:3000/api/providers/<provider_ID>?expand=resources&attributes=id,name
Para obtener información adicional sobre el proveedor (como el puerto, hostname y dirección de IP), utilice los parámetros de consulta ?expand=resources, por ejemplo:
GET localhost:3000/api/providers/<provider_ID>?expand=resources &attributes=port,hostname,ipaddress
1.3. Realizar acciones de proveedores de infraestructura física
La API REST se puede utilizar para realizar acciones en un proveedor de infraestructura física, como crear, modificar y eliminar.
Nota: Para realizar acciones en proveedores de infraestructura física, debe crear una autenticación básica mediante su herramienta o biblioteca preferida e ingresar su nombre de usuario y contraseña para acceder a la instancia CloudForms cuando usa el API REST.
1.3.1. Crear un proveedor de infraestructura física de Lenovo
Para crear un proveedor de infraestructura física de Lenovo, realice una petición POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/providers
Cuerpo de petición:
{
"action": "create",
"credentials": {
"password": "<PASSWORD>",
"userid": "<USERNAME>"
},
"hostname": "<LENOVO XCLARITY ADMINISTRATOR ADDRESS>",
"name": "<NAME>",
"port": "<THE SERVICE PORT>",
"type": "ManageIQ::Providers::Lenovo::PhysicalInfraManager"
}1.3.2. Modificar las propiedades de un proveedor de infraestructura física de Lenovo
Para modificar las propiedades de un proveedor de infraestructura física de Lenovo, envíe una petición de POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/providers
Cuerpo de petición:
{
"action":"edit",
"credentials": {
"password":"<new_passowrd>",
"userid":"<new_user_name>"
},
"hostname":"<New_Lenovo_XClarity_Administrator_address>",
"name":"<new_provider_name>",
"port":"<new_service_port>"
}1.3.3. Actualizar la información de todos los proveedores
Para actualizar la información de todos los proveedores, envíe una petición de POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/providers
Cuerpo de petición:
{
"action":"refresh"
}1.3.4. Eliminar un proveedor de infraestructura física
Para eliminar un proveedor específico:
Envíe una petición DELETE utilizando el siguiente URL.
DELETE <CloudForms_address>:<port>/api/providers/<provider_ID>
Envíe una petición de POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/providers/<provider_ID>
Cuerpo de petición:
{ "action":"delete" }
1.3.5. Realizar una acción en varios proveedores de infraestructura física
Para realizar una acción en más de un proveedor de infraestructura física, envíe una petición POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/providers
Cuerpo de petición:
{
"action":"<action>",
"resources": [{
"href":"<provider_ID>"
},
{
"href":"<provider_ID>"
}]
}1.4. Obtener detalles sobre el servidor físico
Para obtener detalles sobre todos los servidores físicos, utilice la siguiente URL:
GET <CloudForms_address>:<port>/api/physical_servers
Se devolverá una respuesta JSON con las siguientes llaves.
acciones (listado de acciones que se pueden usar) total (número total de proveedores) nombre (nombre de URI) páginas (total de páginas) recurso (listado de URL para cada proveedor administradas por CloudForms) subtotal (número de proveedores devueltos)
Ejemplos
Para obtener toda la información sobre los servidores físicos, utilice un ?expand=resources parámetro de consulta, por ejemplo:
GET localhost:3000/api/physical_servers?expand=resources
Para obtener un dato específico sobre los servidores físicos (como el nombre y ID), utilice parámetros de consulta ?expand=resources&attributes=<attribute_list> , por ejemplo:
GET localhost:3000/api/physical_servers?expand=resources&attributes=id,name
Para obtener un dato específico sobre los servidores físicos (como firmware, redes, dispositivos huéspedes y detalles de recursos), utilice parámetros de consulta ?expand=resources&attributes=<attribute_list> , por ejemplo:
GET localhost:3000/api/physical_servers?expand=resources&attributes= hardware.firmwares,hardware.networks,hardware.guest_devices,hardware.assets_details
Para obtener información sobre un servidor físico específico, utilice los parámetros de consulta ?expand=resources&filter[]=name=<server_name> en todos los recursos de servidores físicos, por ejemplo:
GET localhost:3000/api/physical_servers?expand=resources&filter[]=name=Server1-20127X5462
1.5. Obtener detalles del servidor físico por ID
Para obtener información de un servidor físico específico, utilice la siguiente URL:
GET <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Se devolverá una respuesta JSON con las siguientes llaves.
actions created_at ems_id ems_ref field_replaceable_unit health_state hostname href location_led_state machine_type manufacturer model name power_state product_name serial_number type uid_ems updated_at vendor
Ejemplos
Para obtener un dato específico sobre un servidor físico específico (como el nombre y ID), utilice ?expand=resources&attributes=<attribute_list> parámetros de consulta, por ejemplo:
GET localhost:3000/api/physical_servers/<server_ID>?expand=resources&attributes=id,name
Para obtener un dato específico sobre un servidor físico específico (como firmware, redes, dispositivos huéspedes y detalles de recursos), utilice ?expand=resources&attributes=<attribute_list> parámetros de consulta, por ejemplo:
GET localhost:3000/api/physical_servers/<server_ID>?expand=resources &attributes=hardware.firmwares,hardware.networks,hardware.guest_devices,hardware.assets_details
1.6. Realizar acciones en servidores físicos
La API REST se puede utilizar para realizar tareas de gestión en un servidor físico, como encender o apagar, reiniciar y modificar la ubicación del estado del LED.
Nota: Para realizar acciones en servidores físicos, debe crear una autenticación básica mediante su herramienta o biblioteca preferida e ingresar su nombre de usuario y contraseña para acceder al API REST de CloudForms.
1.6.1. Encender un servidor físico
Para encender un servidor físico específico, envíe una petición de POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Cuerpo de petición:
{
"action":"power_on"
}1.6.2. Apagar un servidor físico
Para cerrar el sistema operativo y apagar un servidor físico específico, envíe una petición POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Cuerpo de petición:
{
"action":"power_off"
}1.6.3. Apagado inmediato de un servidor físico
Para apagar inmediatamente un servidor físico específico, envíe una petición de POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Cuerpo de petición:
{
"action":"power_off_now"
}1.6.4. Reiniciar un servidor físico
Para cerrar el sistema operativo y reiniciar un servidor físico específico, envíe una petición POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Cuerpo de petición:
{
"action":"restart"
}1.6.5. Reiniciar un servidor físico inmediatamente
Para reiniciar un servidor físico específico inmediatamente, envíe una petición POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Cuerpo de petición:
{
"action":"restart_now"
}1.6.6. Modificar la ubicación del estado del LED a parpadeo
Para modificar la ubicación del estado del LED a parpadeo en un servidor específico, envíe una petición POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers/<server_ID>
Cuerpo de petición:
{
"action":"blink_loc_led"
}1.6.7. Realizar una acción en varios servidores físicos
Para realizar una acción en más de un servidor físico, envíe una petición de POST utilizando la siguiente URL y el cuerpo de petición JSON.
POST <CloudForms_address>:<port>/api/physical_servers
Cuerpo de petición:
{
"action":"<action>",
"resources": [{
"href":"<server_ID>"
},
{
"href":"<server_ID>"
}]
}