Créer une API CAPI
Si les API CAPI existantes ne s'intègrent pas à l'interface CAPI pour un fournisseur, vous pouvez créer une API. Les étapes des blocs de ressources peuvent appeler vos méthodes API lorsque des opérations sont exécutées.
Avant de commencer
- Rôle requis : admin
- Consultez 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 n'êtes pas familier avec 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 cloudaccédez à Conception > API dans le cloud.
- Cliquez sur l'onglet API.
- Cliquez sur Nouveau.
-
Renseignez les champs de formulaire (consultez le tableau) :
Champ Description API dans le cloud Fournissez un nom descriptif. Interface Faites votre choix parmi les interfaces existantes qui fournissent les opérations dont vous avez besoin. Connecteur Connecteur de script apparaît dans ce champ si le connecteur est un connecteur Java disponible et prêt à l'emploi qui ne peut pas être modifié. 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 Fournissez 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 d'opération des blocs de ressources. Scriptés Ce champ est sélectionné si la valeur 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 script includes de Serveur MID écrits en JavaScript.
ExecuteScriptOnInstance Description Fournissez une description pour cette API. -
Vérifiez que toutes les opérations dont vous avez besoin apparaissent dans la liste connexe Mappeurs de méthodes CAPI.
Les opérations de la liste Mappeurs de méthodes CAPI sont les mêmes opérations que dans l'interface que vous avez sélectionnée. Elles sont liées à cette API. Vous ne pouvez pas ajouter ou supprimer des opérations de la liste. Certaines des opérations, en particulier les opérations Azure, utilisent des script includes de Serveur MID qui exécutent l'implémentation réelle de l'API. Le script inclut un appel à l'API REST pour le fournisseur, tel qu'AWS ou Azure. Vous devriez pouvoir trouver l'API dans la documentation du fournisseur.
-
Pour afficher le script include pour un mappeur de méthode CAPI :
-
Cliquez sur l'icône Engrenage (
) sur la liste connexe Mappeurs de méthodes CAPI, ajoutez le champ Demander un script à la colonne Sélectionné, puis cliquez sur OK.
Les script includes de Serveur MID apparaissent maintenant dans la liste des mappeurs de méthodes. -
Cliquez sur le nom d'un script pour afficher le script include.
Dans cet exemple, l'opération CreateNode utilise le script include azure-compute-1.0-CreateNode.Ce script include 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 le script include AzureComputeVirtualMachine, disponible par défaut avec l'application Cloud Provisioning and Governance. Il contient tous les appels d'API à Azure par rapport aux ordinateurs virtuels.
-
Cliquez sur l'icône Engrenage (
-
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 passe l'appel REST à l'API du fournisseur dans le cloud.
Conseil :Si vous ne savez pas quels remplacements de configuration d'API créer, analysez une API similaire qui existe dans la CAPI et utilisez les mêmes remplacements. Par exemple, si vous créez une API pour le AWS Storage, consultez d'autres API AWS telles qu'AWS Block Storage ou AWS Compute.- Dans la liste connexe Remplacement de configuration 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 Identité, Informations d'identification, et ainsi de suite.
-
Entrez une valeur de remplacement.
Vous pouvez définir une valeur statique ou extraire une valeur du système sous la forme
$(CloudCredential.attribute_name). La partieCloudCredentialla 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 ouvrez vos informations d’identification AWS, vous pouvez cliquer avec le bouton droit de la souris 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 de remplacement doit donc être $(CloudCredential.access_key).
-
Si vous devez créer un paramètre de configuration à utiliser dans le remplacement de configuration d'API, suivez cette procédure :
- Sur 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ètre 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 Entrez une description utile. Type de données de configuration Sélectionnez le type de données : - Chaîne
- DateTime
- 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 vous disposez d'un script include de Serveur MID dans le cadre de votre API et qu'il utilise
this.headerscomme paramètre, les valeurs de remplacement sont transmises à l'API du fournisseur. - Configuration
- Configuration de l'URI
-
Si nécessaire, modifiez les script includes qui exécutent les opérations par rapport à l'API du fournisseur dans le cloud :
-
Sur le formulaire API dans le cloud, dans la liste connexe Mappeurs de méthodes CAPI, cliquez sur l'icône d'informations (
) en regard de l'opération d'interface CAPI.
Ne cliquez pas sur le nom de l'opération d'interface CAPI elle-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 modifier cette valeur. Modifiez la version Prise en charge par 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 Demander un script, cliquez sur d'icône d'informations (
) en regard du script include de Serveur MID de l'espace réservé pour le modifier.
-
Sur le formulaire Script Include, créez votre script.
L'exemple de JavaScript suivant répertorie les équilibreurs de charge Azure. Consultez 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; }Les remplacements fournis pour cette opération sont les éléments dont Azure a besoin 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 de l'intégration à Google Cloud, un fichier JAR de Serveur MID est également nécessaire.
- Cliquez sur Envoyer.
- Modifiez le script include pour chaque opération.
-
Sur le formulaire API dans le cloud, dans la liste connexe Mappeurs de méthodes CAPI, cliquez sur l'icône d'informations (