Als Systemadministrator können Sie die Cloud-API verwenden, um allgemeine Aufgaben der Infrastrukturverwaltung programmgesteuert auszuführen, wie z. B. Zuweisen von Berechtigungen zu einer Rolle oder einem Benutzer, Erstellen oder Aktualisieren eines Auftrags oder Anzeigen von Auftragsrückläufen. Sie können sseapiclient
in einer Umgebung mit oder ohne Salt-Master installieren.
Bevor Sie beginnen
Erfüllen Sie vor der Verwendung von sseapiclient
die folgenden Voraussetzungen:
- Bei Verwendung von
sseapiclient
in einer Umgebung mit einem Salt-Master:- Wenn Sie das Master-Plug-In nicht auf dem Salt-Master installiert haben, stehen unter Installieren und Konfigurieren des Master-Plug-Ins Installationsanweisungen zur Verfügung.
sseapiclient
ist im Lieferumfang des Master-Plug-Ins enthalten und wird installiert, wenn Sie das Plug-In installieren. - Stellen Sie sicher, dass Sie Version 8.11.1 oder höher des Master-Plug-Ins auf dem Salt-Master installiert haben. Die Version des Master-Plug-Ins befindet sich im Arbeitsbereich Master-Plug-Ins.
Sie können das Master-Plug-In auf dem Salt-Master auch über den Arbeitsbereich Master-Plug-Ins aktualisieren. Weitere Informationen finden Sie unter Verwenden des Arbeitsbereichs „Master-Plug-Ins“.
- Wenn Sie das Master-Plug-In nicht auf dem Salt-Master installiert haben, stehen unter Installieren und Konfigurieren des Master-Plug-Ins Installationsanweisungen zur Verfügung.
- Bei Verwendung von
sseapiclient
in einer Umgebung ohne Salt-Master:- Führen Sie die folgenden Befehle aus, um die Pika Python- und PyJWT-Bibliotheken auf Ihrem Gerät zu installieren:
pip3 install pika==1.3.1 pip3 install pyjwt==2.4.0
- Laden Sie die aktuelle Version von
sseapiclient
aus dem Arbeitsbereich Master-Plug-Ins herunter. Führen Sie dann den folgenden Befehl aus, umsseapiclient
auf Ihrem Gerät zu installieren:pip3 install SSEApiClient-file-name.whl
Weitere Informationen finden Sie unter Verwenden des Arbeitsbereichs „Master-Plug-Ins“.
- Stellen Sie sicher, dass die
sseapiclient
-Version mit der Version von Automation Config übereinstimmt. Die Version von Automation Config befindet sich im Arbeitsbereich Master-Plug-Ins.
- Führen Sie die folgenden Befehle aus, um die Pika Python- und PyJWT-Bibliotheken auf Ihrem Gerät zu installieren:
- Erstellen Sie einen Auftrag in Automation Config. Weitere Informationen finden Sie unter Vorgehensweise zum Erstellen von Aufträgen.
Generieren eines API-Tokens
Bevor Sie eine Verbindung mit der Cloud-API herstellen können, müssen Sie ein API-Token mithilfe der Cloud Services-Konsole erzeugen. Das Token wird zum Authentifizieren des Salt-Masters mit VMware Cloud Services verwendet.
- Klicken Sie auf der Symbolleiste der Cloud Services-Konsole auf Ihren Benutzernamen und wählen Sie aus.
- Klicken Sie auf Token generieren.
- Füllen Sie das Formular aus.
- Geben Sie einen Namen für das Token ein.
- Wählen Sie die Time to Live (TTL) des Tokens aus. Die Standarddauer beträgt sechs Monate.
Hinweis: Ein nicht ablaufendes Token kann ein Sicherheitsrisiko darstellen, wenn es manipuliert wird. Ist dies der Fall, müssen Sie das Token widerrufen.
- Definieren Sie Geltungsbereiche für das Token.
Geltungsbereich Beschreibung Dienstrollen Dienstrollen sind integrierte, vordefinierte Berechtigungssätze, die Zugriff auf VMware Cloud Services gewähren.
Für den Zugriff auf den Automation Config-Dienst suchen Sie nach dem Automation Config-Dienst und wählen die gewünschte Dienstrolle aus. Eine Liste der verfügbaren Dienstrollen finden Sie unter Vorgehensweise zum Definieren von Benutzerrollen.
- (Optional) Legen Sie eine E-Mail-Einstellung fest, um eine Erinnerung zu erhalten, wenn Ihr Token in Kürze abläuft.
- Klicken Sie auf Generieren.
Das neu generierte API-Token wird im Fenster Generiertes Token angezeigt.
- Speichern Sie die Token-Anmeldedaten an einem sicheren Ort.
Nachdem Sie das Token generiert haben, können Sie nur den Namen des Tokens auf der Seite API-Token sehen, aber nicht die Anmeldedaten. Um das Token erneut zu generieren, klicken Sie auf Neu generieren.
- Klicken Sie auf Weiter.
Einen API-Anruf tätigen
Nachdem Sie ein API-Token erzeugt haben, können Sie mithilfe von sseapiclient
oder cURL
einen API-Aufruf tätigen.
So tätigen Sie einen API-Aufruf:
- Melden Sie sich bei der Umgebung an, in der
sseapiclient
installiert wurde. - Führen Sie den folgenden Befehl aus und ersetzen Sie den Serverwert durch die regionsspezifische Automation Config-URL und den API-Token-Wert durch das zuvor erzeugte API-Token. Die folgenden Codebeispiele veranschaulichen einen API-Aufruf in der Region „US“ (USA).
- Python
-
from sseapiclient import APIClient client = APIClient(server='https://ssc-gateway.mgmt.cloud.vmware.com', csp_api_token='<api-token>') client.api.job.get_jobs()
- Python
-
#For non-prod environments (e.g. scaleperf). Note the extra argument to the constructor: from sseapiclient import APIClient client = APIClient(server='https://ssc-gateway.scaleperf.symphony-dev.com', csp_api_token='<api-token>', csp_url='https://console-stg.cloud.vmware.com/') client.api.job.get_jobs()
- cURL
-
SERVER="https://ssc-gateway.mgmt.cloud.vmware.com" && \ API_TOKEN="<api-token>" && \ BEARER_TOKEN=$(curl --silent 'https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode "api_token=$API_TOKEN" \ | grep -o '"access_token":"[^"]*' | grep -o '[^"]*$') && \ XSRFTOKEN=$(curl -s -I -X POST "$SERVER/account/login/" \ --header "Authorization: Bearer $BEARER_TOKEN" \ | awk '/X-XSRFTOKEN:|x-xsrftoken:/ {gsub("\r","",$2);print $2}') && \ curl --location --request POST "$SERVER/rpc" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer $BEARER_TOKEN" \ --header "X-XSRFTOKEN: $XSRFTOKEN" \ --header "Cookie: _xsrf=$XSRFTOKEN; _xsrf=$XSRFTOKEN" \ --data '{ "resource": "job", "method": "get_jobs", "kwarg": {}, "args": [] }'
Tabelle 1. Regionale URLs für Automation Config Region Automation Config-URL US (USA) https://ssc-gateway.mgmt.cloud.vmware.com Deutschland https://de.ssc-gateway.mgmt.cloud.vmware.com Indien https://in.ssc-gateway.mgmt.cloud.vmware.com Kanada https://ca.ssc-gateway.mgmt.cloud.vmware.com Australien https://au.ssc-gateway.mgmt.cloud.vmware.com UK https://uk.ssc-gateway.mgmt.cloud.vmware.com
Ergebnisse
jobs.get_jobs()
gibt eine Liste aller Aufträge zurück. Die folgenden Codebeispiele zeigen eine erfolgreiche Antwort.
- Python
-
RPCResponse(riq=3, ret={'count': 1, 'results': [{'uuid': '60c14cfc-09ca-4b5a-bc76-8294287c2e6c', 'name': 'Check disk usage', 'desc': 'Checks disk usage on targeted devices', 'cmd': 'local', 'tgt_uuid': '7f93b928-388b-11e6-b133-346895ecb8f3', 'fun': 'disk.usage', 'arg': {'arg': [], 'kwarg': {}}, 'masters': [], 'metadata': {'auth': {'owner': {'uuid': '8964e9f3-6864-4fe5-ba4a-ab4530caa8ca', 'config_name': 'internal', 'username': 'root'}, 'access': {}}}, 'tgt_name': 'CentOS'}], 'limit': 50}, error=None, warnings=[])
- cURL
-
{'riq': 3, 'ret': {'count': 1, 'results': [{'uuid': '60c14cfc-09ca-4b5a-bc76-8294287c2e6c', 'name': 'Check disk usage', 'desc': 'Checks disk usage on targeted devices', 'cmd': 'local', 'tgt_uuid': '7f93b928-388b-11e6-b133-346895ecb8f3', 'fun': 'disk.usage', 'arg': {'arg': [], 'kwarg': {}}, 'masters': [], 'metadata': {'auth': {'owner': {'uuid': '8964e9f3-6864-4fe5-ba4a-ab4530caa8ca', 'config_name': 'internal', 'username': 'root'}, 'access': {}}}, 'tgt_name': 'CentOS'}], 'limit': 50}, 'error': null, 'warnings': []}
client.api.admin.trim_database()
. Wenn Sie nicht über ausreichende Berechtigungen verfügen, löst die API einen Fehler aus.
Zur Verwendung von Verwaltungsfunktionen können Sie ein neues API-Token erzeugen und die Dienstrolle Superuser auswählen.
Nächste Schritte
Weitere Informationen zu verfügbaren Ressourcen finden Sie in der Dokumentation zur API (RaaS) im VMware Developer Portal.