Créer une API CAPI
Si les API CAPI existantes ne s’intègrent pas à l’interface CAPI d’un fournisseur, vous pouvez créer une API. Les étapes des blocs de ressources peuvent appeler vos méthodes API lorsque les opérations sont exécutées.
Avant de commencer
- Rôle requis : admin
- Examinez API CAPI par défaut et assurez-vous que le fournisseur et le produit que vous créez n’existent pas.
- Familiarisez-vous avec l’API du fournisseur dans le cloud afin de savoir comment créer des appels REST vers le fournisseur. Si vous ne connaissez pas les en-têtes, les exigences d’authentification, le point de terminaison et les données que vous pouvez transmettre à l’API du fournisseur, vous ne pouvez pas créer vos propres composants CAPI.
Pourquoi et quand exécuter cette tâche
Cette rubrique fournit des instructions pour créer une API CAPI. Elle couvre également la configuration de CAPI, des blocs de ressources, des plans et des mappages d’informations d’identification.
Procédure
- Dans , Portail d'administration du cloud accédez à Conception > Cloud API.
- Cliquez sur l’onglet API .
- Cliquez sur Nouveau.
-
Renseignez les champs de formulaire (consultez le tableau) :
Champ Description Cloud API Fournissez un nom descriptif. Interface Sélectionnez parmi les interfaces existantes qui fournissent les opérations dont vous avez besoin. Connecteur Le connecteur de script apparaît dans ce champ s’il s’agit d’un connecteur Java disponible prêt à l’emploi et non modifiable. Vous n’avez pas besoin de modifier ces connecteurs de script. Produit Sélectionnez le produit qui fait partie du fournisseur. Le produit inclut des types de ressources dans la CMDB. Version Indiquez un numéro de version pour identifier cette API. Entrez 1.0 si cette API est la première version. Vous pouvez créer plusieurs versions de la même API, puis vous référer aux versions spécifiques dans les étapes de fonctionnement des blocs de ressources. Scripté Ce champ est sélectionné si la valeur de l’interface est Connecteur de script. Type de script Sélectionnez la langue du script. Remarque :JavaScript est recommandé. Les mappeurs de méthode utilisent des Serveur MID includes de script écrits en JavaScript.
ExecuteScriptOnInstance Description Fournissez une description pour cette API. -
Vérifiez que toutes les opérations dont vous avez besoin s’affichent dans la liste connexe Mappeurs de méthode CAPI .
Les opérations de la liste des mappeurs de méthode CAPI sont les mêmes que celles que vous avez sélectionnées dans l’interface. Ils sont liés à cette API. Vous ne pouvez ajouter ou supprimer aucune opération dans la liste. Certaines opérations, en particulier les opérations Azure, utilisent Serveur MID des includes de script qui effectuent l’implémentation réelle de l’API. Le script inclut un appel à l’API REST du fournisseur, tel qu’AWS ou Azure. Vous devriez pouvoir trouver l’API dans la documentation du fournisseur.
-
Pour afficher l’include de script pour un mappeur de méthode CAPI :
-
Cliquez sur l’icône
dans la liste connexe des mappeurs de méthode CAPI , ajoutez le champ Script de demande à la colonne Sélectionné , puis cliquez sur OK.
Les Serveur MID includes de script apparaissent maintenant dans la liste des mappeurs de méthodes. -
Cliquez sur le nom d’un script pour afficher l’include de script.
Dans cet exemple, l’opération CreateNode utilise l’include azure-compute-1.0-CreateNode de script.Cet include de script contient le code suivant :
createNode(); function createNode(){ var acp = new AzureComputeVirtualMachine(this.parameters, this.headers); //this passes the parameters and headers into the AzureComputeVirtualMachine script include. var vm = acp.createVirtualMachine(); return vm; }Notez que le code appelle l’include de AzureComputeVirtualMachine script, qui est disponible par défaut avec l’application Mise en service et gouvernance du cloud . Il contient tous les appels d’API à Azure sur les machines virtuelles.
-
Cliquez sur l’icône
-
Créez un remplacement de configuration d’API pour transmettre les informations d’identification nécessaires au fournisseur dans le cloud.
Vous devez également transmettre les informations d’en-tête requises par l’API REST du fournisseur dans le cloud. Les remplacements de configuration d’API sont nécessaires, car les données d’informations d’identification ne sont pas incluses lorsque votre instance effectue l’appel REST à l’API du fournisseur dans le cloud.
Conseil :Si vous ne savez pas quels remplacements de configuration d’API créer, consultez une API similaire qui existe dans CAPI et utilisez les mêmes remplacements. Par exemple, si vous créez une API pour quelque chose comme le stockage AWS, consultez d’autres API AWS telles que AWS Block Storage ou AWS Compute.- Dans la liste connexe Remplacement de configuration d’API, cliquez sur Nouveau.
-
Cliquez sur l’icône de recherche et sélectionnez un paramètre de configuration existant.
De nombreux paramètres utiles sont fournis par défaut, tels que l’identité, les informations d’identification, etc.
-
Entrez une valeur Override.
Vous pouvez définir une valeur statique ou extraire une valeur du système sous la forme
$(CloudCredential.attribute_name).La partieCloudCredentialle déverrouille à partir de la banque d’identifiants. La partieattribute_nameest un attribut qui dépend des informations d’identification, de l’alias ou de l’URL de point de terminaison que vous essayez de récupérer.Si vous accédez à Connexions et informations d'identification > Informations d'identification et ouvrir vos informations d’identification AWS, vous pouvez cliquer avec le bouton droit sur le champ ID de clé d’accès et voir le nom de la colonne dans la table Informations d’identification où la clé d’accès est stockée. Dans ce cas, la clé d’accès est stockée dans la colonneaccess_key. Votre valeur Override doit donc être $(CloudCredential.access_key).
-
Si vous devez créer un paramètre de configuration à utiliser dans le remplacement de configuration d’API, procédez comme suit :
- Dans le formulaire Remplacement de configuration d’API, cliquez sur l’icône de recherche dans le champ Paramètre de configuration .
-
Cliquez sur Nouveau dans la fenêtre Paramètres de configuration, puis remplissez le formulaire.
Champ Description Nom du paramètre de configuration Saisissez un nom descriptif. Valeur par défaut Définissez une valeur par défaut facultative. Point de terminaison Ce champ est en lecture seule. Description Saisissez une description utile. Type de données de configuration Sélectionnez le type de données : - Chaîne
- Date/Heure
- Date
- Long
- Mot de passe
- Booléen
Type de configuration Sélectionnez le type de configuration : - En-tête : utilisez cette valeur pour transmettre les valeurs de remplacement en tant qu’en-têtes. Si votre API inclut un Serveur MID script include et qu’elle utilise
this.headerscomme paramètre, les valeurs de remplacement sont transmises à l’API du fournisseur. - Configuration
- Configuration d’URI
-
Si nécessaire, modifiez les includes de script qui exécutent les opérations par rapport à l’API du fournisseur dans le cloud :
-
Sur le formulaire API cloud, dans la liste connexe Mappeurs de méthode CAPI, cliquez sur l’icône d’informations (icône
) en regard de l’exploitation d’interface CAPI.
Ne cliquez pas sur le nom de l’opération d’interface CAPI lui-même. - Cliquez sur Ouvrir l’enregistrement.
-
Sur le formulaire d’opération, vous pouvez modifier les valeurs de champ suivantes :
Champ Description Opération de point de terminaison Conservez l’opération de point de terminaison Exécuter le script par défaut. Pris en charge dans la version Vous n’avez généralement pas besoin de changer cette valeur. Modifiez la version prise en charge dans pour utiliser le mappeur de méthode dans une autre version de l’API. Par défaut, les mappeurs de méthode sont définis sur le même numéro de version que l’API à laquelle ils appartiennent.
-
Dans le champ Script de demande , cliquez sur l’icône d’informations (icône
) en regard de l’include de script d’espace Serveur MID réservé pour le modifier.
-
Dans le formulaire d’inclusion de script, créez votre script.
L’exemple JavaScript suivant répertorie les équilibreurs de charge Azure. Notez les commentaires utiles :
getResourceInfo(); function getResourceInfo() { var anpi = new AzureLoadBalancer(this.parameters, this.headers); //this calls the 'AzureLoadBalancer' Serveur MID script include, which in turn //calls the 'AzureCloudAPIBase' script include, both of which //are already in your instance by default. //The 'AzureCloudBase' script include runs a query for resources of a given type in a //specified region. var items = anpi.listResourcesByRegionOrIDs(); //This function is in the 'AzureCloudAPIBase' script include. It calls the Azure API. return items; }Azure a besoin des remplacements prévus pour cette opération pour trouver les équilibreurs de charge : l’ID client, l’ID de locataire, la clé secrète et l’URL du point de terminaison :Pour l’exemple d’intégration Google Cloud, un Serveur MID fichier JAR est également nécessaire.
- Cliquez sur Envoyer.
- Modifiez l’include de script pour chaque opération.
-
Sur le formulaire API cloud, dans la liste connexe Mappeurs de méthode CAPI, cliquez sur l’icône d’informations (icône