Als systeembeheerder kunt u de cloud-API gebruiken om algemene infrastructuurbeheertaken, zoals het toewijzen van rechten aan een rol of gebruiker, programmatisch te voltooien, een opdracht te maken of bij te werken of opdrachtresultaten weer te geven. U kunt sseapiclient installeren in een omgeving met een Salt-master of een omgeving zonder een Salt-master.

Voordat u aan de slag gaat

Voltooi eerst de volgende vereisten voordat u sseapiclient gebruikt:

  1. Als u sseapiclient in een omgeving met een Salt-master gebruikt:
    1. Als u de masterplug-in niet op uw Salt-master heeft geïnstalleerd, raadpleegt u De masterplug-in installeren en configureren voor installatie-instructies. sseapiclient is gebundeld met de masterplug-in en wordt geïnstalleerd wanneer u de plug-in installeert.
    2. Controleer of u versie 8.11.1 of hoger van de masterplug-in op uw Salt-master heeft geïnstalleerd. U vindt de versie van de masterplug-in in de werkplek Masterplug-ins.

      U kunt ook de masterplug-in op uw Salt-master bijwerken via de werkplek Masterplug-ins. Zie De werkplek Masterplug-ins gebruiken voor meer informatie.

  2. Als u sseapiclient in een omgeving zonder Salt-master gebruikt:
    1. Voer de volgende commando's uit om de Pika Python en de PyJWT-bibliotheken op uw apparaat te installeren:
      pip3 install pika==1.3.1
      pip3 install pyjwt==2.4.0
    2. Download de nieuwste versie van sseapiclient van de werkplek Masterplug-ins. Voer vervolgens het volgende commando uit om sseapiclient op uw apparaat te installeren:
      pip3 install SSEApiClient-file-name.whl

      Zie De werkplek Masterplug-ins gebruiken voor meer informatie.

    3. Controleer of de sseapiclient-versie overeenkomt met de versie van Automation Config. U kunt de Automation Config-versie vinden in de werkplek Masterplug-ins.
  3. Maak een opdracht in Automation Config. Zie Hoe maak ik opdrachten voor meer informatie.

Een API-token genereren

Voordat u verbinding kunt maken met de cloud-API, moet u een API-token genereren met behulp van de Cloud Services-console. Het token wordt gebruikt om uw Salt-master te verifiëren met VMware Cloud Services.

  1. Klik in de werkbalk van de Cloud Services-console op uw gebruikersnaam en selecteer Mijn account > API-tokens.
  2. Klik op Token genereren.

    Pagina API-tokens in CSP

  3. Vul het formulier in.

    Tokenformulier genereren in CSP

    1. Voer een naam voor het token in.
    2. Selecteer de levensduur, ofwel de Time to Live (TTL), van het token. De standaardduur is zes maanden.
      Opmerking: Een token dat niet verloopt, kan een beveiligingsrisico vormen indien het wordt onthuld. Als dit gebeurt, moet u het token intrekken.
    3. Definieer bereiken voor het token.
      Scope Beschrijving
      Servicerollen

      Servicerollen zijn ingebouwde, vooraf gedefinieerde sets rechten die toegang verlenen tot VMware Cloud Services.

      Om toegang te krijgen tot de Automation Config-service, zoekt u de Automation Config-service en selecteert u de gewenste servicerol. Zie Hoe definieer ik gebruikersrollen voor een lijst met beschikbare servicerollen.

    4. (Optioneel) Stel een e-mailvoorkeur in om een herinnering te ontvangen wanneer uw token bijna is verlopen.
    5. Klik op Genereren.

      Het nieuw gegenereerde API-token wordt weergegeven in het venster Token gegenereerd.

  4. Sla de verificatiegegevens voor het token op een beveiligde locatie op.

    Nadat u het token heeft gegenereerd, kunt u alleen de naam van het token zien op de pagina API-tokens en niet de verificatiegegevens. Als u het token opnieuw wilt genereren, klikt u op Opnieuw genereren.

  5. Klik op Doorgaan.

API-aanroep maken

Nadat u een API-token heeft gegenereerd, kunt u een API-aanroep maken met behulp van sseapiclient of cURL.

Een API-aanroep maken:

  1. Meld u aan bij de omgeving waarin u sseapiclient heeft geïnstalleerd.
  2. Voer het volgende commando uit en vervang de serverwaarde door uw regiospecifieke Automation Config-URL en de waarde van het API-token door het API-token dat u eerder heeft gegenereerd. In de volgende codevoorbeelden wordt een API-aanroep in de regio US weergegeven.
    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": []
    }'
    Tabel 1. Regionale URL's voor Automation Config
    Regio Automation Config URL
    US https://ssc-gateway.mgmt.cloud.vmware.com
    Duitsland https://de.ssc-gateway.mgmt.cloud.vmware.com
    India https://in.ssc-gateway.mgmt.cloud.vmware.com
    Canada https://ca.ssc-gateway.mgmt.cloud.vmware.com
    Australië https://au.ssc-gateway.mgmt.cloud.vmware.com
    VK https://uk.ssc-gateway.mgmt.cloud.vmware.com

Resultaten

Het jobs.get_jobs()-eindpunt retourneert een lijst met alle opdrachten. In de volgende codevoorbeelden ziet u een voorbeeld van een geslaagd antwoord.
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': []}
Opmerking: Voor sommige functies zijn beheerprivileges, zoals client.api.admin.trim_database(), vereist. Als u onvoldoende rechten heeft, meldt de API een fout.

Als u beheerfuncties wilt gebruiken, kunt u een nieuw API-token genereren en de servicerol Supergebruiker selecteren.

Wat moet u nu doen

Lees de documentatie voor API (RaaS) in de VMware Developer Portal voor meer informatie over beschikbare resources.