Différences entre versions de « Créer une machine virtuelle avec l'API »
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… ») |
(Ajout catégorie VCD) |
||
Ligne 79 : | Ligne 79 : | ||
<!-- Placez ci-dessous la ou les catégories auxquelles se rapporte votre article. Ex: [[Catégorie:Contribuer]] [[Catégorie:Linux]] --> | <!-- Placez ci-dessous la ou les catégories auxquelles se rapporte votre article. Ex: [[Catégorie:Contribuer]] [[Catégorie:Linux]] --> | ||
[[Catégorie:VMWare]] | [[Catégorie:VMWare]] | ||
+ | [[Catégorie:VCD] |
Version du 6 février 2023 à 13:09
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:
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: Veilliez à remplacer les valeur entre accolade 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 machine virtuelle et qu'il existes différent outils pour mettre en oeuvre ces actions.
Cet article vous a semblé utile ?
0
[[Catégorie:VCD]
Activer l'actualisation automatique des commentaires