En tant qu'administrateur système, vous pouvez utiliser l'API cloud pour effectuer de manière planifiée des tâches d'administration d'infrastructure courantes, telles que l'attribution d'autorisations à un rôle ou à un utilisateur, la création ou la mise à jour d'une tâche ou l'affichage des retours de tâche. Vous pouvez installer sseapiclient
dans un environnement avec un master Salt ou un environnement sans master Salt.
Avant de commencer
Avant d'utiliser sseapiclient
, vérifiez les conditions préalables suivantes :
- Si vous utilisez
sseapiclient
dans un environnement avec un master Salt :- Si vous n'avez pas installé le plug-in master sur votre master Salt, reportez-vous à la section Installer et configurez le plug-in master pour obtenir des instructions d'installation.
sseapiclient
est intégré au plug-in master et est installé lorsque vous installez le plug-in. - Vérifiez que vous avez installé la version 8.11.1 ou ultérieure du plug-in master sur votre master Salt. Vous trouverez la version du plug-in master dans l'espace de travail Plug-ins master.
Vous pouvez également mettre à jour le plug-in master sur votre master Salt via l'espace de travail Plug-ins master. Pour plus d'informations, reportez-vous à la section Utilisation des plug-ins master.
- Si vous n'avez pas installé le plug-in master sur votre master Salt, reportez-vous à la section Installer et configurez le plug-in master pour obtenir des instructions d'installation.
- Si vous utilisez
sseapiclient
dans un environnement sans master Salt :- Exécutez les commandes suivantes pour installer les bibliothèques Pika Python et PyJWT sur votre périphérique :
pip3 install pika==1.3.1 pip3 install pyjwt==2.4.0
- Téléchargez la dernière version de
sseapiclient
depuis l'espace de travail Plug-ins master. Exécutez ensuite la commande suivante pour installersseapiclient
sur votre périphérique :pip3 install SSEApiClient-file-name.whl
Pour plus d'informations, reportez-vous à la section Utilisation des plug-ins master.
- Vérifiez que la version
sseapiclient
correspond à la version d'Automation Config. Vous trouverez la version d'Automation Config dans l'espace de travail Plug-ins master.
- Exécutez les commandes suivantes pour installer les bibliothèques Pika Python et PyJWT sur votre périphérique :
- Créez une tâche dans Automation Config. Pour plus d'informations, reportez-vous à la section Création de tâches.
Générer un jeton d'API
Avant de pouvoir connecter votre API cloud, vous devez générer un jeton d'API à l'aide de la console Cloud Services. Ce jeton est utilisé pour authentifier votre master Salt dans VMware Cloud Services.
- Dans la barre d'outils de la console Cloud Services, cliquez sur votre nom d'utilisateur et sélectionnez .
- Cliquez sur Générer le jeton.
- Remplissez le formulaire.
- Entrez un nom pour le jeton.
- Sélectionnez la durée de vie du jeton. La durée par défaut est de six mois.
Note : Un jeton sans date d'expiration peut être un risque de sécurité s'il est compromis. Si cela se produit, vous devez révoquer le jeton.
- Définissez les étendues du jeton.
Portée Description Rôles de service Les rôles de service sont des ensembles prédéfinis et intégrés qui accordent l'accès à VMware Cloud Services.
Pour accéder au service Automation Config, recherchez le service Automation Config et sélectionnez le rôle de service souhaité. Pour obtenir la liste des rôles de service disponibles, reportez-vous à la section Comment définir des rôles d'utilisateur.
- (Facultatif) Définissez une préférence d'e-mail pour recevoir un rappel lorsque votre jeton est sur le point d'expirer.
- Cliquez sur Générer.
Le jeton d'API récemment généré s'affiche dans la fenêtre Jeton généré.
- Enregistrez les informations d'identification du jeton dans un emplacement sécurisé.
Après avoir généré le jeton, vous pourrez uniquement voir le nom du jeton sur la page Jetons de l'API, pas les informations d'identification. Pour régénérer le jeton, cliquez sur Régénérer.
- Cliquez sur Continuer.
Faire un appel de l'API
Après avoir généré un jeton d'API vous pouvez effectuer un appel d'API à l'aide de sseapiclient
ou de cURL
.
Pour effectuer un appel d'API :
- Connectez-vous à l'environnement dans lequel vous avez installé
sseapiclient
. - Exécutez la commande suivante en remplaçant la valeur du serveur par l'URL Automation Config spécifique à votre région et la valeur du jeton d'API par le jeton d'API que vous avez généré précédemment. L'exemple de code suivant montre un appel d'API dans la région US.
- 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": [] }'
Tableau 1. URL régionales pour Automation Config Région URL de Automation Config US (États-Unis) https://ssc-gateway.mgmt.cloud.vmware.com Allemagne https://de.ssc-gateway.mgmt.cloud.vmware.com Inde https://in.ssc-gateway.mgmt.cloud.vmware.com Canada https://ca.ssc-gateway.mgmt.cloud.vmware.com Australie https://au.ssc-gateway.mgmt.cloud.vmware.com UK https://uk.ssc-gateway.mgmt.cloud.vmware.com
Résultats
jobs.get_jobs()
renvoie une liste de toutes les tâches. L'exemple de code suivant montre une réponse réussie.
- 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()
. Si vous ne disposez pas d'autorisations suffisantes. L'API génère une erreur.
Pour utiliser des fonctions d'administration vous pouvez générer un jeton d'API et sélectionner le rôle de service Superutilisateur.
Étape suivante
Lisez la documentation de l'API (RaaS) sur le portail des développeurs de VMware pour en savoir plus sur les ressources disponibles.