J’ai eu pas mal d’occasion de travailler sur du REST API par le passé allant au SDN underlay (monitorer les contrôleur SDN, le traffic réseaux, le protocole OpenFlow et les switchs physique voir l’article ), Sotckage (pour déployer un CIFS Share et NFS DataStore sur VMware voir l’article)…et maintenant l’occasion se présente sur VMC on AWS.

Le but de cet article est de vous montrer comment s’authentifier à l’API de VMC pour récupérer les informations de l’Organsiation et SDDC VMC on AWS et de les afficher en utilisant Slack.

Il existe plusieurs manière pour utiliser le REST API de VMC: en PowerShell, depuis le Developer Center ou en utilisant un client REST comme Postman. Les 3 cas seront abordés et expliqués.

1- PowerShell

Exécuter Windows PowerShell CLI en tant qu’administrateur et on commence par installer les commandes VMware CLI:

Install-Module -name VMware.VMC -scope AllUsers -Force

Jetons un coup d’œil sur les commandes disponibles après l’installation:

Get-VMCCommand -WarningAction:SilentlyContinue

Maintenant, nous allons procéder à récupérer un refresh Token depuis la console VMC

Cliquez sur Generate Token

Choisir le nom du token, le rôle de l’organisation et le rôle du service puis cliquez sur Generate

Cliquez sur Copy et conserver cette clé sur bloc note car on en aura besoin plus tard pour le client REST Postman.

Un mail automatique est envoyé afin d’informer l’Ogranization Owner du nouveau Token généré (mesure de sécurité)

Revenons à notre console PowerShell et éxécutez la commande ci-dessous pour se connecter au SDDC VMC on AWS

connect-vmc -refreshtoken

Maintenant que nous nous sommes connecté à l’organisation du SDDC, il est possible d’afficher les informations de l’organisation depuis la commande:

Get-VMCorg

À présent que nous avons pris connaissance du nom de notre organisation « Display_Name », nous avons la possibilité d’obtenir les détails du SDDC de l’organisation depuis la commande:

Get-VMCSDDC -Org

On peut même récupérer les identifiants du vCenter via:

Get-VMCSDDCDefaultCredential -org

2- REST API depuis le Developer Center

Pour y accéder, il suffit de parcourir l’interface VMC et cliquer sur « API Explorer », choisir le SDDC adéquat, sélectionner « Organisation », puis « GET » API et cliquer sur le bouton « Execute »

Maitenant, à la place de « Organization », on choisi d’éxécuter un GET de SDDC. Ci-dessous le résultat:

3- Postman

Comme évoqué précédemment, nous allons découvrir comment utiliser Postman pour exécuter les requêtes REST API VMC et les automatiser à travers des collections.

Accéder au lien https://github.com/vmware/vsphere-automation-sdk-rest/archive/master.zip pour télécharger le vSphere Automation REST SDK.

Le SDK comporte plusieurs langages mais nous allons nous abstenir à utiliser REST et vous montrer comment importer et réutiliser quelques collections pré-programmé pour créer la votre.

Extractez le contenu du ZIP téléchargé puis importer sur Postman:

Générer un nouveau Token depuis l’interface VMC:

J’ai procédé ensuite à la création d’un environnement que je nommerai « VMC » sur Postman en définissant le token comme variable ainsi que sa valeur:

Définir mon nouvel environnement « VMC » comme environnement par défaut:

On procède ensuite à l’exécution de la requête « login » qui se trouve sur « Collection » en cliquant sur « Send »:

Le Token d’accès sera généré (pour le voir cliquer sur l’icône Œil) et stocké comme variable en cliquant sur « Test » car on en aura besoin pour nos prochaines utilisations:

Nous procédons à l’enregistrement de cette requête pour l’utiliser prochainement:

Maintenant que la partie authentification et login est mis en place, commençons par générer quelques requêtes. Nous prenons comme exemple l’affichage des détails de mon organisation du SDDC VMC:

Enregistrement de la requête:

Maintenant, nous avons besoin de remplacer le contenu du code « Test » pour créer une variable qu’on utilisera pour envoyer un message sur Slack. Ci-dessous le code « Test » à maintenir:

Un aperçu du output généré en cliquant sur l’icône Œil. Enregistrer la requête « Organization »

Maintenant que nous avons les détails de notre organisation, nous allons les envoyer ces informations en temps réel sur mon slack channel:

En cliquant sur « Send » de la requête « Post » ci-dessous un aperçu de Slack:

On enregistre la requête « Slack ».

Une fois nos requête enregistrés (login, organization et Slack), nous avons la possibilité de les exécutés en one shot afin d’automatiser la procédure:

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.