Différences entre versions de « Créer une machine virtuelle avec l'API »

De Ikoula Wiki
Jump to navigation Jump to search
(Page créée avec « <span data-link_translate="he"></span><span data-link_translate="ro"></span><span data-link_translate="ru"></span><span data-link_translate="pl"></span><span data-link_tra… »)
 
m
 
(2 versions intermédiaires par un autre utilisateur non affichées)
Ligne 62 : Ligne 62 :
 
req = requests.post("https://vmware.ikoula.com/api/vdc/{id-vdc}/action/instantiateVAppTemplate", headers=header, data=xml)
 
req = requests.post("https://vmware.ikoula.com/api/vdc/{id-vdc}/action/instantiateVAppTemplate", headers=header, data=xml)
 
</syntaxhighlight>
 
</syntaxhighlight>
<div style="background-color: #FFCC99;"> '''Note''': Veilliez à remplacer les valeur entre accolade et le token Basic par vos propre valeur</div>
+
<div style="background-color: #FFCC99;"> '''Note''': Veillez à remplacer les valeur entre accolades et le token Basic par vos propre valeur</div>
  
 
==Conclusion== <!--T:3-->
 
==Conclusion== <!--T:3-->
A noter que l'utilisation de l'API ne se limite pas à la création de machine virtuelle et qu'il existes différent outils pour mettre en oeuvre ces actions.
+
A noter que l'utilisation de l'API ne se limite pas à la création de machines virtuelles et qu'il existe différents outils pour mettre en œuvre ces actions.
  
 
<!--T:4-->
 
<!--T:4-->

Version actuelle datée du 10 février 2023 à 11:13


Comment créer une machine virtuelle avec l'API de VMWare Cloud Director

Nous allons voir comment créer une machine virtuelle depuis un script en python avec l'API de VMWare Cloud Director.

Voici les liens utiles à votre bonne lecture:

La documentation de l'API

Script Python

Ici nous allons créer notre VM depuis un template de vapp présent en catalogue.

import requests
import json

# On demande une session
header = {"Accept":"application/*;version=36.0","Authorization":"Basic YWRtaW46YWRtaW4gOik="}
req = requests.post("https://vmware.ikoula.com/api/sessions", headers=header)

# On parse la réponse pour récupérer les tokens
rsp = req.headers
xresult = json.loads(str(rsp).replace("'",'"'))
token = xresult["X-VMWARE-VCLOUD-ACCESS-TOKEN"]
xauth = xresult["x-vcloud-authorization"]

# On définie de nouveau le header avec les tokens
header = {"Accept":"application/*;version=36.0","X-VMWARE-VCLOUD-ACCESS-TOKEN":"{}".format(token),"X-VMWARE-VCLOUD-TOKEN-TYPE":"Bearer","x-vcloud-authorization":"{}".format(xauth)}

# On prépare notre body xml pour la requête de création de vapp
xml = """<?xml version="1.0" encoding="UTF-8"?> <vcloud:InstantiateVAppTemplateParams
     xmlns:ovf = "http://schemas.dmtf.org/ovf/envelope/1"
     xmlns:vcloud = "http://www.vmware.com/vcloud/v1.5"
     deploy = "false"
     name = "Debian11"
     powerOn = "true">
     <vcloud:Description> VApp Description </vcloud:Description>
     <vcloud:InstantiationParams>
         <vcloud:NetworkConfigSection>
             <ovf:Info> NetInfo </ovf:Info>
             <vcloud:NetworkConfig
                 networkName = "{mon-network}">
                 <vcloud:Configuration>
                     <vcloud:ParentNetwork
                         href = "https://vmware.ikoula.com/api/network/{id-network}"
                         name = "{mon-network}"
                         type = "application/vnd.vmware.vcloud.network+xml"/>
                     <vcloud:FenceMode>bridged</vcloud:FenceMode>
                 </vcloud:Configuration>
             </vcloud:NetworkConfig>
         </vcloud:NetworkConfigSection>
     </vcloud:InstantiationParams>
     <vcloud:Source
         href = "https://vmware.ikoula.com/api/vAppTemplate/vappTemplate-{id-vapp}"
         name = "imported"
         type = "application/vnd.vmware.vcloud.vAppTemplate+xml"/>
</vcloud:InstantiateVAppTemplateParams>"""

# On envoie la requête
req = requests.post("https://vmware.ikoula.com/api/vdc/{id-vdc}/action/instantiateVAppTemplate", headers=header, data=xml)
Note: Veillez à remplacer les valeur entre accolades et le token Basic par vos propre valeur

Conclusion

A noter que l'utilisation de l'API ne se limite pas à la création de machines virtuelles et qu'il existe différents outils pour mettre en œuvre ces actions.



Cet article vous a semblé utile ?

0



Vous n'êtes pas autorisé à publier de commentaire.