- Python 3
- Module Python 3:
- pyVim
- pyVmomi
- sslyze
Avant toutes actions, il est nécessaire d'initialiser la classe Vcenter()
vc = Vcenter(VCENTER_IP,ACCOUNT_USER,ACCOUNT_PASSWORD)
En paramètre supplémentaire, nous pouvons mettre:
- verbose = True ou False pour afficher le logs des actions
- ssl_connection = True ou False pour lancer une connexion sécurisée ou non
- ssl_protocol = ssl.PROTOCOL_TLSv1_2 pour spécifier le protocole utilisé
- ssl_verify = ssl.CERT_NONE, ssl.CERT_OPTIONAL ou ssl.CERT_REQUIRED pour contrôler ou non le certificat
quitte si erreur
Pour se déconnecter, il suffit d'utiliser la fonction disconnect
vc.disconnect()
retourne 1 si déconnecté, 0 si échec
Pour récupérer la liste des snapshots de toutes les VM (aucun argument est nécessaire)
vc.check_snapshots()
renvoie un tableau avec les informations
- Nom de la VM
- Nom de l'OS
- Version
- Nom du snapshot
- Etat de la VM lors du snapshot
- Description
- Date de création
Pour faire le snapshot d'une VM, lancer la fonction create_snapshot avec comme paramètre le nom de la VM
vc.create_snapshot(vmname)
En paramètre supplémentaire, nous pouvons mettre:
- snap_name = Pour définir un nom au snapshot (Par défaut il prend le format "VmName - %d/%m/%Y - %H:%M:%S")
- description = Pour définir la description du snapshot
- dumpMemory = True ou False Permet d'ajouter le dump de la mémoire au snapshot (par défaut sur False)
retourne 1 si succès, 0 si échec ainsi que le message de retour
Pour supprimer le snapshot d'une VM, lancer la fonction delete_snapshot avec comme paramètre le nom de la VM et la cible
vc.delete_snapshot(vmname,target)
En paramètre cible, plusieurs choix sont possibles:
- target = search ou last ou all
- search: permet de cibler un snapshot spécifique
- last: supprime le dernier snapshot
- all: supprime tous les snapshots présent sur la VM
- snapshot_name = Nom du snapshot (si target sur search)
- remove_subtree = True ou False pour prendre en compte les snapshots fils
retourne 1 si succès, 0 si échec ainsi que le message de retour
vc.rename_snapshot(vmname,snapshot_name)
En paramètre, nous pouvons mettre:
- name = pour définir un nouveau nom de snapshot
- desc = pour définir une nouvelle description de snapshot
retourne 1 si succès, 0 si échec ainsi que le message de retour
Pour restaurer la configuration d'un VM à partir d'un snapshot
vc.reload_snapshot(vmname,snapshot_name)
retourne 1 si succès, 0 si échec ainsi que le message de retour
vc.boot_vm(vmname)
retourne 1 si succès, 0 si échec ainsi que le message de retour
vc.shutdown_vm(vmname)
retourne 1 si succès, 0 si échec ainsi que le message de retour
vc.reboot_vm(vmname)
retourne 1 si succès, 0 si échec ainsi que le message de retour
vc.suspend_vm(vmname)
retourne 1 si succès, 0 si échec ainsi que le message de retour
Récupérer les informations d'une ou plusieurs VM sous forme de dictionnaire
vc.get_vm_dict(vname)
retourne un dictionnaire