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:
- Als u
sseapiclient
in een omgeving met een Salt-master gebruikt:- 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. - 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.
- Als u de masterplug-in niet op uw Salt-master heeft geïnstalleerd, raadpleegt u De masterplug-in installeren en configureren voor installatie-instructies.
- Als u
sseapiclient
in een omgeving zonder Salt-master gebruikt:- 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
- Download de nieuwste versie van
sseapiclient
van de werkplek Masterplug-ins. Voer vervolgens het volgende commando uit omsseapiclient
op uw apparaat te installeren:pip3 install SSEApiClient-file-name.whl
Zie De werkplek Masterplug-ins gebruiken voor meer informatie.
- Controleer of de
sseapiclient
-versie overeenkomt met de versie van Automation Config. U kunt de Automation Config-versie vinden in de werkplek Masterplug-ins.
- Voer de volgende commando's uit om de Pika Python en de PyJWT-bibliotheken op uw apparaat te installeren:
- 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.
- Klik in de werkbalk van de Cloud Services-console op uw gebruikersnaam en selecteer .
- Klik op Token genereren.
- Vul het formulier in.
- Voer een naam voor het token in.
- 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.
- 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.
- (Optioneel) Stel een e-mailvoorkeur in om een herinnering te ontvangen wanneer uw token bijna is verlopen.
- Klik op Genereren.
Het nieuw gegenereerde API-token wordt weergegeven in het venster Token gegenereerd.
- 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.
- 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:
- Meld u aan bij de omgeving waarin u
sseapiclient
heeft geïnstalleerd. - 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
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': []}
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.