Eine CAPI-API erstellen
Wenn die vorhandenen CAPI-APIs nicht in die CAPI-Schnittstelle für einen Anbieter integriert werden, können Sie eine API erstellen. Die Schritte in Ressourcenblöcken können die von Ihnen verwendeten API-Methoden aufrufen, wenn Vorgänge ausgeführt werden.
Vorbereitungen
- Erforderliche Rolle: admin
- Überprüfen Sie Standard-CAPI-APIs und stellen Sie sicher, dass weder Anbieter noch Produkte, die Sie erstellen, bereits vorliegen.
- Machen Sie sich mit der Cloud-Anbieter-API vertraut, damit Sie wissen, wie REST-Aufrufe an den Anbieter erstellt werden. Wenn Sie mit Headern, Authentifizierungsanforderungen, Endpunkt und Daten, die Sie an die Provider-API übergeben können, nicht vertraut sind, können Sie keine eigenen CAPI-Komponenten erstellen.
Warum und wann dieser Vorgang ausgeführt wird
Dieses Thema enthält Anweisungen zum Erstellen einer CAPI-API. Sie umfasst auch die Konfiguration von CAPI, Ressourcenblöcken, Blaupausen und die Zuordnung von Anmeldeinformationen.
Prozedur
- Navigieren Sie in Portal für Cloud-Admin.zu Design > Cloud-API.
- Klicken Sie auf die Registerkarte API.
- Klicken Sie auf Neu.
-
Füllen Sie die Formularfelder aus (siehe Tabelle):
Feld Beschreibung Cloud-API Geben Sie einen beschreibenden Namen an. Schnittstelle Wählen Sie eine der vorhandenen Schnittstellen aus, die die gewünschten Vorgänge bereitstellen. Connector Der Script Connector (Skript-Connector) wird in diesem Feld angezeigt, wenn der Connector ein sofort verfügbarer Java-Connector ist, der nicht geändert werden kann. Sie müssen diese Skript-Connectors nicht ändern. Produkt Wählen Sie das Produkt aus, das Teil des Anbieters ist. Das Produkt enthält Ressourcentypen in der CMDB. Version Geben Sie eine Versionsnummer an, um diese API zu identifizieren. Geben Sie 1.0 ein, wenn diese API die erste Version ist. Sie können mehrere Versionen derselben API erstellen und dann in den Vorgangsschritten der Ressourcenblöcke auf die jeweiligen Versionen verweisen. Geskriptet Dieses Feld wird ausgewählt, wenn der Wert von Interface (Schnittstelle) Script Connector (Script-Connector) lautet. Skripttyp Wählen Sie die Sprache für das Skript aus. Hinweis:Es empfiehlt sich JavaScript. Die Methodenzuordnungen verwenden in Javascript geschriebene MID-Server-Skripteinbindungen.
ExecuteScriptOnInstance Beschreibung Hier sollte sich die API-Beschreibung befinden. -
Stellen Sie sicher, dass alle erforderlichen Vorgänge in der zugehörigen Liste der CAPI-Methodenzuordnungen angezeigt werden.
Die Vorgänge in der Liste CAPI-Methodenzuordnungen sind in der von Ihnen ausgewählten Schnittstelle die gleichen Vorgänge. Sie sind an diese API gebunden. Für diese Liste sind weder Hinzufügen noch Entfernen von Vorgängen möglich. Einige der Vorgänge, insbesondere Azure-Vorgänge, verwenden MID-Server-Skripteinbindungen, die die tatsächliche Implementierung für die API ausführen. Das Skript enthält einen Aufruf der REST API für den Anbieter, z. B. AWS oder Azure. Sie sollten die API in der Dokumentation des Anbieters finden.
-
So rufen Sie die Skripteinbindung für eine CAPI-Methodenzuordnung auf:
-
Klicken Sie auf das Zahnradsymbol (
) auf der zugehörigen Liste CAPI Method Mappers (CAPI-Methodenzuordnungen), fügen Sie das Feld Request Script (Skript anfordern) der ausgewählten Spalte hinzu, und klicken Sie dann auf OK.
Die Skripteinbindungen von MID-Server werden jetzt in der Liste der Methodenzuordnungen angezeigt. -
Klicken Sie auf den Namen eines Skripts, um die Skripteinbindung aufzurufen.
In diesem Beispiel verwendet der Vorgang CreateNode die Skripteinbindung azure-compute-1.0-CreateNode.Diese Skripteinbindung enthält folgenden Code:
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; }Sie werden bemerken, dass der Code Skripteinbindung AzureComputeVirtualMachine aufruft, die standardmäßig mit der Anwendung Cloud Provisioning and Governance verfügbar ist. Sie enthält alle API-Aufrufe bei Azure mit virtuellen Computern.
-
Klicken Sie auf das Zahnradsymbol (
-
Erstellen Sie eine Überschreibung der API-Konfiguration, um die erforderlichen Anmeldeinformationen an den Cloud-Anbieter zu übergeben.
Sie müssen auch Header-Informationen übergeben, die für die REST API des Cloud-Anbieters erforderlich sind. API-Konfigurationsüberschreibungen sind erforderlich, da Anmeldeinformationsdaten nicht enthalten sind, wenn die Instanz den REST-Aufruf bei der Cloud-Anbieter-API durchführt.
Tipp:Wenn Sie nicht wissen, welche API-Konfigurationsüberschreibungen erstellt werden sollen, suchen Sie nach einer ähnlichen API in CAPI, und verwenden Sie dieselben Überschreibungen. Wenn Sie beispielsweise eine API für AWS-Speicher erstellen, suchen Sie nach anderen AWS-APIs wie AWS Block Storage oder AWS Compute.- Klicken Sie in der den API-Konfigurationsüberschreibungen zugehörigen Liste auf New (Neu).
-
Klicken Sie auf das Suchsymbol, und wählen Sie einen vorhandenen Konfigurationsparameter aus.
Viele nützliche Parameter werden standardmäßig bereitgestellt, z. B. Identity (Identität), Credentials (Anmeldeinformationen) usw.
-
Geben Sie einen Überschreibungswert ein.
Sie können einen statischen Wert festlegen oder einen Wert im Format
$(CloudCredential.attribute_name)aus dem System verwenden. Die KomponenteCloudCredentialentsperrt den Wert aus dem Anmeldeinformationsspeicher. Die Komponenteattribute_nameist ein Attribut, das von den konkreten Anmeldeinformationen, Alias- oder Endpunkt-URLs abhängt, die Sie abrufen möchten.Wenn Sie zu navigieren Verbindung und Anmeldeinformationen > Berechtigungen und Ihre AWS-Anmeldeinformationen öffnen, können Sie mit der rechten Maustaste auf das Feld Zugriffsschlüssel-ID klicken und den Namen der Spalte in der Tabelle „Anmeldeinformationen“ anzeigen, in der der Zugriffsschlüssel gespeichert ist. In diesem Fall wird der Zugangsschlüssel in der Spalteaccess_keygespeichert. Daher muss der Überschreibungswert $(CloudCredential.access_key) sein.
-
Wenn Sie einen Konfigurationsparameter für die API-Konfigurationsüberschreibung erstellen müssen, gehen Sie wie folgt vor:
- Klicken Sie im Formular „API Config Override“ (API-Konfigurationsüberschreibung) auf das Suchsymbol im Feld Config Parameter (Konfigurationsparameter).
-
Klicken Sie im Fenster „Config Parameter“ (Konfigurationsparameter) auf New (Neu) und füllen Sie das Formular aus.
Feld Beschreibung Konfigurationsparametername Geben Sie einen beschreibenden Namen ein. Standardwert Sie können einen optionalen Standardwert festlegen. Endpunkt Dieses Feld ist schreibgeschützt. Beschreibung Geben Sie eine erläuternde Beschreibung ein. Konfigurationsdatentypen Wählen Sie den Datentyp aus: - Zeichenfolge
- DateTime
- Datum
- Lang
- Passwort
- Boolean
Konfigurationstyp Wählen Sie den Konfigurationstyp aus: - Header: Verwenden Sie diesen Wert, um die Überschreibungswerte als Header zu übergeben. Wenn Sie über eine MID-Server-Skripteinbindung als Teil der API verfügen, und diese
this.headersals Parameter verwendet, werden die Überschreibungswerte der Anbieter-API übergeben. - Config
- URI-Konfiguration
-
Ändern Sie bei Bedarf die Skripteinbindungen, die die Vorgänge für die Cloud-Anbieter-API ausführen:
-
Klicken Sie auf dem Cloud-API-Formular in der zugehörigen Liste der CAPI-Methodenzuordnungen auf das Informationssymbol (
) neben dem CAPI-Schnittstellenvorgang.
Klicken Sie nicht auf den Namen des CAPI-Schnittstellenvorgangs. - Klicken Sie auf Datensatz öffnen.
-
Im Vorgangsformular können Sie die folgenden Feldwerte ändern:
Feld Beschreibung Endpunktvorgang Behalten Sie den standardmäßigen Endpunktvorgang Execute Script (Skript ausführen) bei. Unterstützt in Version Üblicherweise muss dieser Wert nicht geändert werden. Ändern Sie die Version von Supported in (Unterstützt in), um die Methodenzuordnung in einer anderen Version der API zu verwenden. Standardmäßig ist für die Methodenzuordnungen dieselbe Versionsnummer festgelegt wie für die zugehörige API.
-
Klicken Sie im Feld Request Script (Skript anfordern) auf das Informationssymbol (
) neben der Platzhalter-Skripteinbindung MID-Server, um Änderungen vorzunehmen.
-
Erstellen Sie mit dem Formular für Skripteinbindungen das gewünschte Skript.
Das folgende Beispiel-JavaScript listet Azure-Lastenausgleichsmodule auf. Beachten Sie die hilfreichen Kommentare:
getResourceInfo(); function getResourceInfo() { var anpi = new AzureLoadBalancer(this.parameters, this.headers); //this calls the 'AzureLoadBalancer' MID-Server 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; }Die für diesen Vorgang bereitgestellten Überschreibungen sind das, was Azure benötigt, um die Lastenausgleichsmodule zu finden: Client-ID, Mandanten-ID, geheimer Schlüssel und Endpunkt-URL:Für das Integrationsbeispiel von Google Cloud ist auch eine MID-Server-JAR-Datei erforderlich.
- Klicken Sie auf Absenden.
- Ändern Sie die Skripteinbindung für jeden Vorgang.
-
Klicken Sie auf dem Cloud-API-Formular in der zugehörigen Liste der CAPI-Methodenzuordnungen auf das Informationssymbol (