CAPI-Klassen in MID-Server-Skripteinbindungen
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.
Zeigen Sie CAPI-Klassen an, indem Sie zu navigieren 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:
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.
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:
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.
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
| 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. |