Classes CAPI dans les script includes de Serveur MID

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • Cloud Provisioning and Governance fournit plusieurs classes JavaScript qui effectuent des appels REST vers des fournisseurs dans le cloud. Ces classes sont appelées à partir de script includes de Serveur MID (pour Azure par défaut) ou d'appels Java dans le système (pour AWS par défaut). Si vous créez des fournisseurs, interfaces ou API CAPI personnalisés (pour n'importe quel fournisseur dans le cloud), vous pouvez utiliser des script includes de Serveur MID pour appeler les classes.

    Remarque :
    Dans les API CAPI, il n'existe aucun script include de Serveur MID (dans Mappeurs de méthodes) que vous pouvez personnaliser pour appeler les classes AWS. Par défaut, les API CAPI pour AWS effectuent des appels Java pour appeler ensuite les classes AWS. Toutefois, si vous créez des API CAPI, vous pouvez également créer des script includes personnalisés pour appeler les classes.

    Afficher les classes CAPI en naviguant vers Serveurs MID > Includes de script dans l’interface d’instance (et non dans le système de baseportail d'administration du cloudfichier ). Recherchez le nom d'une classe dans la zone de recherche Accéder à à l'aide de la colonne Nom :

    Rechercher des script includes de Serveur MID

    Classes de base

    Ces classes de base sont disponibles par défaut. Elles constituent une base pour les classes Azure et AWS qui effectuent les appels REST réels.

    CloudAPIBase

    CloudAPIBase est une API indépendante du fournisseur qui communique avec tous les types d'API dans le cloud. Elle fournit des fonctions pour le débogage et la journalisation de base, ainsi que pour la collecte d'informations de proxy sur le Serveur MID. Elle définit également les en-têtes, les paramètres, les points de terminaison et this.parameter.

    AWSCloudAPIBase
    Cette classe est étendue à partir de CloudAPIBase et fournit des fonctions qui appellent le demandeur pour effectuer des demandes GET, PUT, POST et DELETE. La classe fournit l'option d'une méthode executeAction, qui est une implémentation AWS de GET, ou la méthode d'appel, qui fournit des appels d'API REST.
    AzureCloudAPIBase

    Cette classe est étendue à partir de CloudAPIBase et fournit des fonctions qui effectuent les actions suivantes :

    • Extraire les ID de ressources.
    • Extraire les propriétés du point de terminaison.
    • Répertorier les ressources.
    • Appeler le demandeur pour effectuer des demandes GET, PUT, POST et DELETE.

    AzureCloudAPIBase utilise la méthode _invokeRequest pour effectuer des appels d'API REST vers Azure à l'aide des appels d'API REST standard.

    Figure 1. API de base
    CloudAPIBase

    Classes de demandeurs

    Les classes de demandeurs effectuent les appels REST réels vers le fournisseur dans le cloud. Si vous créez une interface CAPI et une API personnalisées, vous devez étendre CloudRestAPIInvoker pour créer vos appels REST.

    CloudRestAPIInvoker

    Cette classe est une classe abstraite pour effectuer des appels d'API REST. S'il existe des en-têtes et/ou des paramètres à envoyer avec une demande, les classes qui implémentent le demandeur doivent étendre cet objet. Elles doivent également fournir des remplacements pour que getEndpointUrl puisse renvoyer le point de terminaison ciblé, mais aussi pour getHeaders et getParameters. Par exemple, avec les API REST Azure, l'authentification nécessite le passage d'un jeton en tant qu'en-tête. L'extension qui s'occupe de la mise en œuvre doit fournir une réponse à partir du getHeaders qui effectue la création ou la récupération du jeton et la définit. Cet objet de base appelle getHeaders et envoie tout ce qu'il récupère avec la demande. Cette classe fournit également une méthode getResponse pour gérer la réponse du fournisseur dans le cloud.

    Si vous créez une API CAPI personnalisée, vous devez étendre CloudRestAPIInvoker pour effectuer des appels REST vers le fournisseur dans le cloud.

    AmazonWebServicesAPIInvoker
    Cette classe est étendue à partir de CloudRestAPIInvoker et fournit des méthodes pour effectuer des appels d'API REST vers le fournisseur dans le cloud.
    AzureAPIInvoker
    Cette classe est étendue à partir de CloudRestAPIInvoker et fournit des fonctions qui effectuent ces appels d'API REST vers Azure Resource Manager :
    • Définit le principal de service, les en-têtes et les paramètres pour les appels REST.
    • Obtient l'URL du point de terminaison, le jeton (ID client, ID de locataire et clé secrète) et les en-têtes/paramètres.
    • Récupère et décode le corps de la réponse JSON à partir du fournisseur dans le cloud.
    AzureEAAPIInvoker
    Cette classe renvoie le jeton d'accès à l'API REST Azure Enterprise Agreement (EA).
    AzureStorageAPIInvoker
    Cette classe effectue des appels REST pour le stockage Azure. Les fonctions de cette classe peuvent obtenir le jeton, la réponse, les en-têtes et les paramètres.

    Ce graphique illustre la façon dont ces classes de base sont utilisées pour étendre des classes spécifiques à AWS et à Azure :

    Figure 2. Demander des appels REST
    CloudRestAPIInvoker

    Exceptions

    RESTAPIException
    Cette classe de base gère les exceptions qui peuvent se produire pendant l'appel REST. Elle renvoie le code de réponse du fournisseur dans le cloud.
    AWSAPIException
    Cette classe gère les exceptions qui peuvent se produire pendant l'appel REST.
    AzureAPIException
    Cette classe génère une exception d'exécution si nécessaire pendant l'appel de l'API Azure.
    Figure 3. Gestion des exceptions
    RESTAPIException

    Classes pour les informations d'identification

    CloudRESTRequestSigningUtil

    Cette classe utilise des remplacements spécifiés dans les remplacements de configuration d'API CAPI. La classe AmazonWebServicesRequestSigner étend cette classe. Pour Azure, de nombreux signataires sont intégrés dans les script includes de Serveur MID pour les mappeurs de méthode dans les API CAPI Azure.

    AmazonWebServicesRequestSigner
    Cette classe définit une session sécurisée pour l'appel d'API REST en prenant des informations sur une demande et en créant une chaîne signée par signature v4 pour la demande. Cette classe est étendue à partir de CloudRESTRequestSigningUtil.

    Autres classes Azure

    Tableau 1. Classes qui étendent AzureCloudAPIBase
    Classe Description
    AzureAlertRule Classe pour créer et supprimer des règles d'alerte Azure.
    AzureAuthorizationPolicy Classe pour affecter des politiques de balises.
    AzureComputeAvailabilitySet Classe pour extraire des ensembles de disponibilité Azure. Consultez : https://docs.microsoft.com/en-us/rest/api/compute/availabilitysets
    AzureComputeHardware Classe pour extraire les tailles Azure. Consultez : https://docs.microsoft.com/en-us/rest/api/compute/virtualmachinesizes
    AzureComputeImage Classe pour gérer les appels d'API Azure par rapport à l'image. Consultez : https://docs.microsoft.com/en-us/rest/api/manageddisks/images/images-rest-api
    AzureComputeVirtualMachine Classe pour gérer les appels d'API Azure par rapport aux ordinateurs virtuels. Consultez : https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines Taille et capacité en ressources des ordinateurs virtuels : https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-sizes Versions de Cloud-Init prises en charge : https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init
    AzureDeployment Classe pour gérer le déploiement du modèle ARM Azure.
    AzureDeploymentOperation Classe pour gérer l'opération de déploiement de modèle ARM Azure.
    AzureImages Classe pour gérer les images Azure.
    AzureLoadBalancer Classe pour gérer les appels d'API Azure par rapport aux équilibreurs de charge. Consultez : https://msdn.microsoft.com/en-us/library/azure/mt163651.aspx
    AzureLocalNetworkGateways Classe pour créer et récupérer des passerelles réseau locales.
    AzureNetworkNIC Classe pour gérer les appels d'API Azure par rapport aux cartes d'interface réseau. Consultez : https://msdn.microsoft.com/en-us/library/azure/mt163579.aspx
    AzureNetworkPublicIP Classe permettant de gérer les appels d'API Azure par rapport aux adresses IP publiques. Consultez : https://msdn.microsoft.com/en-us/library/azure/mt163638.aspx
    AzureNetworkRouter Classe pour gérer les appels d'API Azure par rapport à la table de routage. Consultez : https://docs.microsoft.com/en-us/rest/api/network/route-tables
    AzureNetworkSecurityGroup Classe pour gérer les appels d'API Azure par rapport aux cartes d'interface réseau. Consultez : https://msdn.microsoft.com/en-us/library/azure/mt163579.aspx
    AzureNetworkVirtualNetwork Classe pour gérer les appels d'API Azure par rapport aux réseaux virtuels.
    AzureProvider Classe permettant d'obtenir les détails du fournisseur Azure, tels que l'URL et la version du fournisseur.
    AzureRegion Classe pour extraire les régions Azure.
    AzureResource Traite de l'objet référencé par ObjectID dans les paramètres. Elle récupère également la version de l'API. Cette classe est principalement destinée à obtenir des types non pris en charge ou à supprimer des ressources.
    AzureResourceGroupManager Classe pour gérer les groupes de ressources ARM Azure.
    AzureResponseUtil Classe pour traduire la réponse API Azure en objet DTO.
    AzureStorageAccount Classe pour gérer les appels d'API Azure par rapport au compte de stockage. Consultez : //https://msdn.microsoft.com/en-us/library/azure/mt163638.aspx
    AzureStorageBlob Classe permettant de créer et de manipuler des conteneurs de stockage et des objets blob.
    AzureStorageManagedDisk Classe pour gérer les appels d'API Azure par rapport au disque géré. Consultez : https://docs.microsoft.com/en-us/rest/api/manageddisks/disks/disks-create-or-update
    AzureSubscription Classe pour extraire les abonnements Azure.
    AzureVirtualNetworkGateways Classe pour créer et manipuler des passerelles de réseau virtuelles.
    AzureCloudEAAPIBase Objet de base pour les gestionnaires d'API Azure EA. Les API EA Azure disposent d'une URL de base https://consumption.azure.com et nécessitent le numéro d'inscription dans le chemin d'accès. Cette classe gère le tri des paramètres EnrollmentNumber et EnrollmentToken.

    Autres classes AWS

    Classe Description
    AmazonImages

    Classe pour gérer les images d'ordinateurs Amazon.

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html

    AmazonResponseProcessorUtil Classe pour gérer la réponse d'API REST AWS.
    AWSAutoScalingGroups

    Classe permettant de gérer les appels d'API AWS pour créer et manipuler des groupes de mise à l'échelle automatique.

    AWSCloudFormation Gestionnaire pour les appels d'API CloudFormation AWS.
    AWSEC2 Gestionnaire pour les appels d'API EC2 AWS.
    AWSKeyValuePair Classe pour importer et manipuler des paires de clés.
    AWSLaunchConfigurations Classe d'aide.
    AWSS3 Gestionnaire pour les appels d'API S3 AWS.
    AWSTopics Classe avec des rubriques AWS.