CAPI-Klassen in MID-Server-Skripteinbindungen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 5 Minuten Lesedauer
  • Cloud Provisioning and Governance bietet mehrere JavaScript-Klassen, die REST-Aufrufe an Cloud-Anbieter durchführen. Diese Klassen werden von MID-Server-Skripteinbindungen (standardmäßig für Azure) oder von Java-Aufrufen im System (standardmäßig für AWS) aufgerufen. Wenn Sie benutzerdefinierte Anbieter, Schnittstellen oder CAPI-APIs (für alle Cloud-Anbieter) erstellen, können Sie die MID-Server-Skripteinbindungen zum Aufrufen der Klassen verwenden.

    Hinweis:
    In CAPI-APIs gibt es keine MID-Server-Skripteinbindungen (in Methodenzuordnungen), die Sie anpassen können, um die AWS-Klassen aufzurufen. Standardmäßig führen die CAPI-APIs für AWS Java-Aufrufe durch, um dann die AWS-Klassen aufzurufen. Wenn Sie jedoch CAPI-APIs erstellen, können Sie auch benutzerdefinierte Skripteinbindungen zum Aufrufen der Klassen erstellen.

    Zeigen Sie CAPI-Klassen an, indem Sie zu navigieren MID-Server > Skripteinbindungen in der Basissystem Instanzschnittstelle (nicht Portal für Cloud-Admin.). Den Namen einer Klasse suchen Sie im Suchfeld Go to (Wechseln zu) über die Spalte Name:

    MID-Server-Skripteinbindungen suchen

    Basisklassen

    Die folgenden Basisklassen sind standardmäßig verfügbar. Sie bilden eine Grundlage für die Azure- und AWS-Klassen, die die tatsächlichen REST-Aufrufe vornehmen.

    CloudAPIBase

    CloudAPIBase ist eine anbieterunabhängige API, die mit allen Arten von Cloud-APIs kommuniziert. Sie bietet Funktionen für das grundlegende Debugging und die Protokollierung sowie für das Sammeln von Proxyinformationen auf MID-Server. Darüber hinaus definiert sie Header, Parameter, Endpunkte und this.parameter.

    AWSCloudAPIBase
    Diese Klasse wurde von CloudAPIBase erweitert und bietet Funktionen, die den Aufrufer auffordern, GET-, PUT-, POST- und DELETE-Anforderungen zu stellen. Die Klasse bietet die Option einer executeAction-Methode, die eine AWS-Implementierung von GET ist, oder der invoke-Methode, die REST API-Aufrufe bereitstellt.
    AzureCloudAPIBase

    Diese Klasse wurde von CloudAPIBase erweitert und bietet Funktionen für die folgenden Aktionen:

    • Ressourcen-IDs abrufen
    • Endpunkteigenschaften abrufen
    • Ressourcen auflisten
    • Den Aufrufer aufrufen, GET-, PUT-, POST- und DELETE-Anforderungen zu senden.

    AzureCloudAPIBase verwendet die Methode _invokeRequest, um REST API-Aufrufe an Azure mithilfe der Standard-REST API-Aufrufe zu tätigen.

    Abbildung : 1. Basis-APIs
    CloudAPIBase

    Aufrufende Klassen

    Aufruferklassen führen die tatsächlichen REST-Aufrufe an den Cloud-Anbieter durch. Wenn Sie benutzerdefinierte CAPI-Schnittstellen und APIs erstellen, sollten Sie CloudRestAPIInvoker erweitern, wenn Sie REST-Aufrufe erstellen möchten.

    CloudRestAPIInvoker

    Diese Klasse ist eine abstrahierte Klasse für REST API-Aufrufe. Wenn Header und/oder Parameter vorhanden sind, die mit einer Anforderung gesendet werden sollen, müssen Klassen, die den Aufrufer implementieren, dieses Objekt erweitern. Sie müssen auch Überschreibungen für getEndpointUrl bereitstellen, um den Zielendpunkt auszugeben, sowie für getHeaders und getParameters. Bei Azure REST APIs erfordert die Authentifizierung beispielsweise die Übergabe eines Tokens als Header. Die Erweiterung, die dies implementiert, sollte eine Antwort von getHeaders bereitstellen, die die Erstellung oder den Abruf des Tokens durchführt und dies festlegt. Dieses Basisobjekt ruft getHeaders auf und sendet alles, was auf die Anforderung zurückgegeben wird. Diese Klasse stellt auch eine getResponse -Methode für die Behandlung der Antwort des Cloud-Anbieters bereit.

    Wenn Sie eine benutzerdefinierte CAPI-API erstellen, sollten Sie CloudRestAPIInvoker erweitern, um REST-Aufrufe an den Cloud-Provider zu tätigen.

    AmazonWebServicesAPIInvoker
    Diese Klasse wurde von CloudRestAPIInvoker erweitert und stellt Methoden für REST API-Aufrufe an den Cloud-Anbieter bereit.
    AzureAPIInvoker
    Diese Klasse wurde von CloudRestAPIInvoker erweitert und bietet Funktionen, die die folgenden REST API-Aufrufe an Azure Resource Manager vornehmen:
    • Legt Dienstprinzipal, Header und Parameter für REST-Aufrufe fest.
    • Ruft Endpunkt-URL, Token (Client-ID, Mandanten-ID und geheime Schlüssel) sowie Header/Parameter ab.
    • Ruft den JSON-Antworttextkörper vom Cloud-Anbieter ab und decodiert ihn.
    AzureEAAPIInvoker
    Diese Klasse gibt das Token für den Zugriff auf die REST API von Azure Enterprise Agreement (EA) zurück.
    AzureStorageAPIInvoker
    Diese Klasse führt REST-Aufrufe für Azure-Speicher durch. Die Funktionen in dieser Klasse können Token, Antwort, Header und Parameter abrufen.

    Diese Grafik zeigt, wie die Basisklassen zur Erweiterung von AWS-spezifischen und Azure-spezifischen Klassen verwendet werden:

    Abbildung : 2. REST-Aufrufe werden aufgerufen
    CloudRestAPIInvoker

    Ausnahmen

    RESTAPIException
    Diese Basisklasse behandelt Ausnahmen, die während des REST-Aufrufs auftreten können. Sie gibt den Antwortcode vom Cloud-Provider zurück.
    AWSAPIException
    Diese Klasse behandelt Ausnahmen, die während des REST-Aufrufs auftreten können.
    AzureAPIException
    Diese Klasse löst bei Bedarf während des Aufrufs der Azure-API eine Laufzeitausnahme aus.
    Abbildung : 3. Handhabung von Ausnahmen
    RESTAPIException

    Klassen für Anmeldeinformationen

    CloudRESTRequestSigningUtil

    Diese Klasse verwendet Überschreibungen, die in CAPI-API-Konfigurationsüberschreibungen angegeben sind. Die Klasse AmazonWebServicesRequestSigner erweitert diese Klasse. Für Azure sind viele Signierer in die Skripteinbindungen von MID-Server für Methodenzuordnungen in Azure-CAPI-APIs integriert.

    AmazonWebServicesRequestSigner
    Diese Klasse richtet eine sichere Sitzung für den REST API-Aufruf ein, indem Informationen zu einer Anforderung abgerufen und eine Zeichenfolge mit signature v4--Signatur für die Anforderung erstellt wird. Diese Klasse wird von CloudRESTRequestSigningUtil erweitert.

    Andere Azure-Klassen

    Tabelle : 1. Klassen, die AzureCloudAPIBase erweitern
    Klasse Beschreibung
    AzureAlertRule Klasse zum Erstellen und Löschen von Azure-Warnungsregeln.
    AzureAuthorizationPolicy Klasse zum Zuweisen von Tag-Richtlinien.
    AzureComputeAvailabilitySet Klasse für das Abrufen von Azure-Verfügbarkeitssätzen. Siehe: https://docs.microsoft.com/en-us/rest/api/compute/availabilitysets
    AzureComputeHardware Klasse zum Abrufen von Azure-Größen. Siehe: https://docs.microsoft.com/en-us/rest/api/compute/virtualmachinesizes
    AzureComputeImage Klasse für die Verarbeitung von Azure-API-Aufrufen zu Bildern. Siehe: https://docs.microsoft.com/en-us/rest/api/manageddisks/images/images-rest-api
    AzureComputeVirtualMachine Klasse für die Verarbeitung von Azure-API-Aufrufen zu virtuellen Computern. Siehe: https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines VM-Größen und -Kapazitäten: 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 Von Cloud-Init unterstützte Versionen: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init
    AzureDeployment Klasse für die Azure ARM-Vorlagenbereitstellung.
    AzureDeploymentOperation Klasse für den Betrieb der Azure ARM-Vorlagenbereitstellung.
    AzureImages Klasse für die Verarbeitung von Azure-Bildern.
    AzureLoadBalancer Klasse für die Verarbeitung von Azure-API-Aufrufen zu Lastenausgleichsmodulen. Siehe: https://msdn.microsoft.com/en-us/library/azure/mt163651.aspx
    AzureLocalNetworkGateways Klasse zum Erstellen und Abrufen von Gateways für lokale Netzwerke.
    AzureNetworkNIC Klasse für die Verarbeitung von Azure-API-Aufrufen zu Netzwerkschnittstellen-Karten. Siehe: https://msdn.microsoft.com/en-us/library/azure/mt163579.aspx
    AzureNetworkPublicIP Klasse für die Verarbeitung von Azure-API-Aufrufen zu öffentlichen IP-Adressen. Siehe: https://msdn.microsoft.com/en-us/library/azure/mt163638.aspx
    AzureNetworkRouter Klasse für die Verarbeitung von Azure-API-Aufrufen zur Routingtabelle. Siehe: https://docs.microsoft.com/en-us/rest/api/network/route-tables
    AzureNetworkSecurityGroup Klasse für die Verarbeitung von Azure-API-Aufrufen zu Netzwerkschnittstellen-Karten. Siehe: https://msdn.microsoft.com/en-us/library/azure/mt163579.aspx
    AzureNetworkVirtualNetwork Klasse für die Verarbeitung von Azure-API-Aufrufen zu virtuellen Netzwerken.
    AzureProvider Klasse zum Abrufen von Azure-Anbieterdetails, wie Anbieter-URL und Version.
    AzureRegion Klasse zum Abrufen von Azure-Regionen.
    AzureResource Behandelt das Objekt, auf das ObjectID in den Parametern verweist. Außerdem wird die API-Version abgerufen. Diese Klasse ist hauptsächlich zum Abrufen nicht unterstützter Typen oder zum Löschen von Ressourcen gedacht.
    AzureResourceGroupManager Klasse für die Verarbeitung von Azure ARM-Ressourcengruppen.
    AzureResponseUtil Klasse zum Übersetzen der Azure-API-Antwort in ein DTO-Objekt.
    AzureStorageAccount Klasse für die Verarbeitung von Azure-API-Aufrufen zum Speicherkonto. Siehe: //https://msdn.microsoft.com/en-us/library/azure/mt163638.aspx
    AzureStorageBlob Klasse zum Erstellen und Bearbeiten von Speichercontainern und Blobs.
    AzureStorageManagedDisk Klasse für die Verarbeitung von Azure-API-Aufrufen zum verwalteten Datenträger. Siehe: https://docs.microsoft.com/en-us/rest/api/manageddisks/disks/disks-create-or-update
    AzureSubscription Klasse zum Abrufen von Azure-Abonnements.
    AzureVirtualNetworkGateways Klasse zum Erstellen und Bearbeiten von Gateways für virtuelle Netzwerke.
    AzureCloudEAAPIBase Basisobjekt für Azure EA-API-Handler. Azure EA-APIs haben die Basis-URL https://consumption.azure.com und erfordern die Registrierungsnummer im Pfad. Diese Klasse verarbeitet das Aktivieren der Parameter „EnrollmentNumber“ und „EnrollmentToken“.

    Andere AWS-Klassen

    Klasse Beschreibung
    AmazonImages

    Klasse für die Verarbeitung von Amazon Computerimages.

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

    AmazonResponseProcessorUtil Klasse für die Verarbeitung der AWS REST API-Antwort.
    AWSAutoScalingGroups

    Klasse für die Verarbeitung von AWS API-Aufrufen zum Erstellen und Bearbeiten von Autoskalierungsgruppen.

    AWSCloudFormation Handler für AWS CloudFormation-API-Aufrufe.
    AWSEC2 Handler für AWS EC2 API-Aufrufe.
    AWSKeyValuePair Klasse zum Importieren und Bearbeiten von Schlüsselpaaren.
    AWSLaunchConfigurations Hilfsklasse.
    AWSS3 Handler für AWS S3 API-Aufrufe.
    AWSTopics Klasse mit AWS-Themen.