Premiers pas avec l'API Cloudability V3

Authentification de l'API

Note de l'auteur : Authentification pour Cloudability Commercial, Essential, Standard et Premium

Vous pouvez utiliser les clés API Cloudability ou Access Administration apptio-opentoken pour authentifier les demandes API Cloudability.

Les autorisations pour les interactions API de création, de mise à jour, de lecture et de suppression correspondent aux autorisations de l'utilisateur Cloudability. Par exemple, seul un administrateur de Cloudability peut créer un nouveau cluster de conteneurs pour la collecte de données, tandis que tout utilisateur de Cloudability ayant accès à l'API peut obtenir des informations sur l'utilisation des ressources d'un cluster de conteneurs existant.

Remarque :

Cloudability étant désormais disponible pour les utilisateurs des régions Europe, Asie-Pacifique et Moyen-Orient, toutes les références à api.cloudability.com dans cette documentation doivent être appelées api-eu.cloudability.com ou api-au.cloudability.com ou api-me.cloudability.com par les clients hébergés dans l'UE, l'APAC ou la région ME respectivement.

Remarque :

Dans les environnements GovCloud, vous devez utiliser Access Administration apptio-opentoken pour authentifier les demandes d'API Cloudability. L'authentification à l'aide des clés API Cloudability n'est pas prise en charge dans les environnements GovCloud.

Cloudability Clés API

Pour créer une clé API Cloudability :

  1. Ouvrez le site URL dans votre navigateur web : https://app.apptio.com/cloudability#/settings/preferences.
  2. Dans la section Cloudability API, sélectionnez Enable API. Une clé API est générée et affichée dans la zone de texte.

Access Administration apptio-opentoken

Pour plus d'informations sur l'obtention d'un apptio-opentoken, reportez-vous à Access Administration API : Authentification via les clés API.

Note de l'auteur : Authentification pour le gouvernement Cloudability

Interactions API

Interactions API utilisant les clés API de Coudability

Utilisez l'apptio-opentoken pour permettre l'accès à notre API. Visitez Enhanced Access Administration API : Authentification via les clés API pour savoir comment obtenir un code d'accès à l'application.

Les interactions API avec Cloudability sont sécurisées par https. Votre nom d'utilisateur apptio-opentoken constitue le composant du nom d'utilisateur de l'en-tête d'authentification de base. L'en-tête d'autorisation ressemblerait donc à quelque chose comme :

Autorisation : De base

Exemple

L'appel API suivant renvoie une liste de tous les budgets en cours.

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

Interactions API

Note de l'auteur : Authentification pour Cloudability Commercial, Essential, Standard et Premium

Interactions API utilisant les clés API de Coudability

Les interactions de l'API avec Cloudability sont sécurisées sur HTTPS. Votre jeton constitue le composant nom d'utilisateur de l'en-tête Basic Auth. L'en-tête d'autorisation pour l'authentification de base aura le format suivant :

Autorisation : De base

Exemple

L'appel API suivant renvoie une liste de tous les budgets en cours.

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

Interactions API à l'aide de Frontdoor apptio-opentoken

Avec cette méthode d'authentification, passez l'apptio-opentoken et l'apptio-environmentid dans l'en-tête.

Exemple

L'API suivante renvoie une liste de tous les budgets actuels.

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

Format de la réponse

Toutes les réponses retenues seront présentées dans le format suivant :

{
    result: {} or [],
    meta: {},
}
  • result contiendra les résultats ou les données utiles de l'appel.

  • Les informations complémentaires (telles que la répartition des pages et autres) figureront dans l'attribut méta, le cas échéant.

  • Les valeurs primitives seront nulles si aucune valeur n'est présente (c'est-à-dire les nombres, les chaînes de caractères).

  • Les objets et les tableaux renvoient leur état vide ( [] ) si aucune valeur n'est présente.

  • Les dates sont représentées selon la norme ISO 8601 et utilisent le format AAAA-MM-JJ.

En-têtes

Demandes POST et PUT

Content-Type : application/json

Demandes GET (pour tous les points finaux)

Accepter : application/json

Demandes GET (supportées par certains points finaux)

Accepter : text/csv

Autorisation (si vous utilisez des clés API Cloudability )

Autorisation : Basic <cldy_token>

Mise en page

Tous les points de terminaison ne prennent pas en charge la pagination. Les points de terminaison qui ne prennent pas en charge la pagination renverront toujours tous les enregistrements. Les points de terminaison qui prennent en charge la pagination renvoient par défaut les 50 premiers enregistrements correspondants.

Lorsque vous essayez de paginer, vous devez utiliser les paramètres limit et offset en même temps. Lorsque vous utilisez ces paramètres, l'ensemble des résultats sera limité à la limite spécifiée à partir de la valeur de décalage.

La valeur par défaut de la limite est 50 (renvoie 50 enregistrements) et celle du décalage est 0 (début des enregistrements).

Exemple

L'exemple suivant montre comment utiliser les paramètres de limite et de décalage avec le tri.

/views?limit=5&offset=20

Tri

Utilisez le paramètre de requête sort pour trier vos résultats. Pour spécifier l'ordre de tri, vous pouvez ajouter - ( décroissant) ou + ( croissant) devant l'attribut.

Exemples

Trier les résultats pour le point final du portefeuille par l'attribut final dans l'ordre décroissant.

/portfolio/ec2?sort=-end

Trier les résultats pour le point final du portefeuille par l'attribut final dans l'ordre croissant.

/portfolio/ec2?sort=%2bend

(Veillez à coder correctement le symbole +)

Filtrage

Lorsque vous utilisez le paramètre de requête de filtre, vous fournissez une dimension sur laquelle vous voulez filtrer, suivie de l'expression de filtre.

Les requêtes filtrées limitent les lignes incluses dans le résultat. Seules les lignes qui répondent aux conditions du filtre sont incluses dans le résultat. Notez que les bibliothèques client encodent automatiquement URL les opérateurs de filtrage. Toutefois, si vous adressez des requêtes directement au protocole, vous devez coder explicitement URL les opérateurs de filtrage suivants. En outre, le filtrage intervient avant l'agrégation des dimensions, de sorte que les mesures renvoyées représentent le total pour les seuls enregistrements pertinents.

Syntaxe du filtre : expression de l'opérateur de nom

name : le nom de la dimension sur laquelle le filtre doit être appliqué.

opérateur : Spécifie le type de filtre à utiliser. Vous pouvez utiliser les opérateurs suivants :

== (égal)

!= (n'est pas égal)

> (plus grand que)

< (moins que)

>= (supérieur ou égal)

<= (inférieur ou égal)

=@ (contient)

!=@ (ne contient pas)

expression : Indique les valeurs incluses dans les résultats.

Pour appliquer plusieurs filtres à une demande, délimitez-les par des virgules dans un seul paramètre de filtre.

Exemples

Vérifier si l' état est actif :

/portfolio/ec2?filter=state==active

Vérifier si l' état est retraité :

/portfolio/ec2?filter=state==retired

Vérifier si la fin est inférieure à 1541803776000 :

/portfolio/ec2?filter=end<1541803776000

Vérifier si la fin est supérieure à 1541803776000 :

/portfolio/ec2?filter=end>1541803776000

Appliquer plusieurs filtres :

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

Cloudability exemples de points finaux

La documentation relative à chaque point final comprendra un certain nombre d'exemples montrant comment interagir avec l'API. Les exemples utilisent cURL pour les interactions HTTP et jq pour l'analyse JSON. Ces deux outils CLI sont largement utilisés et peuvent être facilement employés pour interagir avec une API RESTful.