VMware Aria Automation API - parte 1

Este es el primero de mis artículos sobre cómo utilizar la API de VMware Aria Automation (antes vRealize Automation) para realizar tareas en forma automatizada.

Automation tiene muchas APIs para realizar todas las tareas requeridas. Sin embargo no siempre es sencillo entender cómo usarlas. Entonces, primero lo primero lo primero... 

¿Cómo me autentico?

El proceso de consta de dos pasos. Se requieren dos llamadas porque la primera se dirige a un sistema externo, el Identity Manager, a través de la API de Gateway. La segunda llamada es a la API de IaaS de vRA.

Primero debemos obtener el "Access Token":

URL https://{{vraHost}}/csp/gateway/am/api/login?access_token
Method POST
Accept application/json
Content-Type application/json
Body {
"username":"{{username}}",
"password":"{{password}}"
}
Response {
"refresh_token": "jepmt4OXuAnw2ORkOHSJLpfFmkyVbdvD"
}

Ejemplo con curl:

curl --location --request POST 'https://vra.datacenter.local/csp/gateway/am/api/login?access_token' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username":"admin",
    "password":"superpassword"
}'

Segundo, usamos el "refresh token" para obtener el "token" final:

URL https://{{vraHost}}/iaas/api/login
Method POST
Accept application/json
Content-Type application/json
Body {
"refreshToken": "{{refreshToken}}"
}
Response {
"tokenType": "Bearer",
"token": "eyJ0eXAiOiJK..."
}

Ejemplo con curl:

curl --location --request POST 'https://vra.datacenter.local/iaas/api/login' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
    "refreshToken": "jepmt4OXuAnw2ORkOHSJLpfFmkyVbdhG"
}'

Finalmente usamos el token en nuestras siguientes llamadas:

Authorization Bearer {{token}}

Comentarios

Entradas populares de este blog

vRA8 - Definir redes disponibles por Projecto

Aria Automation - crear lista ordenada de key-value en custom forms con Orchestrator

Demo simple de GSLB con AVI