Introducción a la API Cloudability V3

Autenticación API

Nota del autor: Autenticación para Cloudability Commercial, Essential, Standard y Premium

Puede utilizar Cloudability API keys o Access Administration apptio-opentoken para autenticar las solicitudes de Cloudability API.

Los permisos de las interacciones de la API para crear, actualizar, leer y eliminar se corresponden con los permisos de usuario de Cloudability. Por ejemplo, sólo un administrador de Cloudability puede aprovisionar un nuevo clúster de contenedores para la recopilación de datos, mientras que cualquier usuario de Cloudability con acceso a la API puede obtener información sobre el uso de recursos de un clúster de contenedores existente.

Nota:

Ahora que Cloudability está disponible para los usuarios de las regiones de Europa, Asia-Pacífico y Oriente Medio, todas las referencias a api.cloudability.com en esta documentación deberán ser referidas como api-eu.cloudability.com o api-au.cloudability.com o api-me.cloudability.com por los clientes alojados en la región de la UE, APAC o ME respectivamente.

Nota:

En entornos GovCloud, debe utilizar Access Administration apptio-opentoken para autenticar las solicitudes de API Cloudability. La autenticación mediante claves API Cloudability no es compatible en entornos GovCloud.

Cloudability Claves API

Para crear una clave API Cloudability :

  1. Abra la siguiente dirección URL en su navegador web: https://app.apptio.com/cloudability#/settings/preferences.
  2. En la sección API de Cloudability, seleccione Activar API. Se genera una clave de API y se muestra en el cuadro de texto.

Access Administration apptio-opentoken

Para obtener información sobre cómo obtener un apptio-opentoken, consulte Access Administration API: Autenticación mediante claves API.

Nota del autor: Autenticación para Cloudability Government

Interacciones API

Interacciones API mediante claves API de Coudability

Utilice el apptio-opentoken para permitir el acceso a nuestra API. Visite Enhanced Access Administration API: Autenticación mediante claves API para saber cómo obtener una apptio-opentoken.

Las interacciones de la API con Cloudability están protegidas a través de https. Su apptio-opentoken forma el componente de nombre de usuario de la cabecera de autenticación básica. Así que el encabezado de autorización sería algo así

Autorización: Básico

Ejemplo

La siguiente llamada a la API devuelve una lista de todos los presupuestos actuales.

curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'

Interacciones API

Nota del autor: Autenticación para Cloudability Commercial, Essential, Standard y Premium

Interacciones API mediante claves API de Coudability

Las interacciones de la API con Cloudability están protegidas a través de HTTPS. Su token forma el componente de nombre de usuario de la cabecera Basic Auth. El encabezado de autorización para la autenticación básica tendrá el siguiente formato:

Autorización: Básico

Ejemplo

La siguiente llamada a la API devuelve una lista de todos los presupuestos actuales.

curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'

Interacciones API utilizando Frontdoor apptio-opentoken

Con este método de autenticación, pasa el apptio-opentoken y apptio-environmentid en la cabecera.

Ejemplo

La siguiente API devuelve una lista de todos los presupuestos actuales.

curl https://api.cloudability.com/v3/budgets -H "apptio-opentoken: [apptio opentoken]" -H "apptio-environmentid: [apptio Access Administration environment id]"

Formato de la respuesta

Todas las respuestas correctas tendrán el siguiente formato:

{
    result: {} or [],
    meta: {},
}
  • result contendrá los resultados o la carga útil de la llamada.

  • La información auxiliar (como desgloses de paginación y otros) existirá en el atributo meta, si es relevante.

  • Los valores primitivos serán null si no hay ningún valor presente (es decir, números, cadenas).

  • Los objetos y las matrices devolverán sus estados vacíos ( [] ) si no hay ningún valor presente.

  • Las fechas se representan en la norma ISO 8601 y utilizan el formato AAAA-MM-DD.

Cabeceras

Solicitudes POST y PUT

Content-Type: application/json

Solicitudes GET (para todos los puntos finales)

Aceptar: application/json

Solicitudes GET (admitidas por algunos puntos finales)

Acepta: text/csv

Autorización (si se utilizan claves API Cloudability )

Autorización: Basic <cldy_token>

Paginación

No todos los puntos finales admiten la paginación. Los puntos finales que no admiten la paginación siempre devolverán todos los registros. Los puntos finales que admiten la paginación devolverán por defecto los 50 primeros registros coincidentes.

Al intentar la paginación, debe utilizar los parámetros limit y offset conjuntamente. Cuando utilice estos parámetros, el conjunto de resultados se restringirá al límite especificado a partir del valor de desplazamiento.

El valor por defecto para limit es 50 (devuelve 50 registros) y offset es 0 (inicio de los registros).

Ejemplo

El siguiente ejemplo muestra cómo utilizar los parámetros limit y offset con sort.

/views?limit=5&offset=20

Clasificación

Utilice el parámetro de consulta sort para ordenar los resultados. Para especificar el orden de clasificación, puede añadir - ( descendente) o + ( ascendente) antes del atributo.

Ejemplos

Ordena los resultados para el punto final de la cartera por el atributo final en orden descendente.

/portfolio/ec2?sort=-end

Ordena los resultados para el punto final de la cartera por el atributo final en orden ascendente.

/portfolio/ec2?sort=%2bend

(Asegúrese de codificar correctamente el símbolo +)

Filtrado

Cuando se utiliza el parámetro de consulta de filtro, se proporciona una dimensión sobre la que se desea filtrar, seguida de la expresión de filtro.

Las consultas filtradas restringen las filas que se incluyen en el resultado. Sólo se incluyen en el resultado las filas que cumplen las condiciones del filtro. Tenga en cuenta que las bibliotecas cliente codifican automáticamente en URL los operadores de filtro. Sin embargo, si realiza peticiones directamente al protocolo, debe codificar explícitamente en URL los siguientes operadores de filtro. Además, el filtrado se produce antes de agregar cualquier dimensión, de modo que las métricas devueltas representan el total sólo de los registros relevantes.

Sintaxis del filtro: nombre operador expresión

nombre: El nombre de la dimensión sobre la que filtrar.

operador: Especifica el tipo de coincidencia de filtro a utilizar. Puede utilizar los siguientes operadores:

== (igual)

!= (no es igual)

> (mayor que)

< (menos de)

>= (mayor o igual que)

<= (menor o igual que)

=@ (contiene)

!=@ (no contiene)

expresión: Indica los valores incluidos en los resultados.

Para aplicar varios filtros a una solicitud, delimite con comas en un parámetro de filtro.

Ejemplos

Comprueba si el estado está activo:

/portfolio/ec2?filter=state==active

Comprueba si el estado es de jubilado:

/portfolio/ec2?filter=state==retired

Compruebe si el final es inferior a 1541803776000:

/portfolio/ec2?filter=end<1541803776000

Comprueba si el final es mayor que 1541803776000:

/portfolio/ec2?filter=end>1541803776000

Aplica varios filtros:

/portfolio/ec2?filter=state==active,end>1541803776000

Cloudability ejemplos de puntos finales

La documentación de cada punto final incluirá una serie de ejemplos que mostrarán cómo interactuar con la API. Los ejemplos utilizarán cURL para las interacciones HTTP y jq para analizar JSON. Ambas herramientas CLI son ampliamente utilizadas y pueden emplearse fácilmente para interactuar con una API RESTful.