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:

  1. Bei Verwendung von sseapiclient in einer Umgebung mit einem Salt-Master:
    1. 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.
    2. 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“.

  2. Bei Verwendung von sseapiclient in einer Umgebung ohne Salt-Master:
    1. 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
    2. Laden Sie die aktuelle Version von sseapiclient aus dem Arbeitsbereich Master-Plug-Ins herunter. Führen Sie dann den folgenden Befehl aus, um sseapiclient auf Ihrem Gerät zu installieren:
      pip3 install SSEApiClient-file-name.whl

      Weitere Informationen finden Sie unter Verwenden des Arbeitsbereichs „Master-Plug-Ins“.

    3. 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.
  3. 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.

  1. Klicken Sie auf der Symbolleiste der Cloud Services-Konsole auf Ihren Benutzernamen und wählen Sie Mein Konto > API-Token aus.
  2. Klicken Sie auf Token generieren.

    Seite „API-Token“ in CSP

  3. Füllen Sie das Formular aus.

    Formular zum Generieren von Token in CSP

    1. Geben Sie einen Namen für das Token ein.
    2. 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.
    3. 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.

    4. (Optional) Legen Sie eine E-Mail-Einstellung fest, um eine Erinnerung zu erhalten, wenn Ihr Token in Kürze abläuft.
    5. Klicken Sie auf Generieren.

      Das neu generierte API-Token wird im Fenster Generiertes Token angezeigt.

  4. 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.

  5. 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:

  1. Melden Sie sich bei der Umgebung an, in der sseapiclient installiert wurde.
  2. 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()
    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

Der Endpoint 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': []}
Hinweis: Für bestimmte Funktionen sind Administratorrechte erforderlich, wie z. B. 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.