Acessando o servidor vSphere ESX / ESXi por meio do python

2

Gostaria de obter automaticamente uma lista ou matriz das VMs (endereço / nome / pool de recursos mac) atualmente criadas em um servidor vSphere e usá-las em um aplicativo python. Alguém pode sugerir uma boa abordagem ou solução para fazer isso? Sou novo na plataforma vSphere. Obrigado.

    
por William 08.06.2010 / 19:32

4 respostas

4

Você provavelmente deve olhar para a API VMWare VIX:

link

Infelizmente, não tem suporte para python. Eu não sei se seria possível fazer python usar o suporte C? Você poderia usar perl ou Powershell

Se tiver que ser python, então existe pyvix:

link

Eu nunca usei e não sei se funciona.

    
por 08.06.2010 / 19:57
3

Recentemente, publiquei o pysphere: link

Para o seu caso em particular

from pysphere import *
server = VIServer()
server.connect("your.esx.or.vcenter.hostname", "user", "password")
vms = server.get_registered_vms()
vm = server.get_vm_by_path(vms[0])
print vm.get_property("mac_address")
print vm.get_property("ip_address")
print vm.get_property("name")
print vm.get_resource_pool_name()
    
por 02.12.2011 / 21:00
1

Dê uma olhada no projeto pyVmomi que é o SDK oficial do Python para a API do VMware vSphere que permite gerenciar o ESX, ESXi e vCenter.

Além disso, o repositório pyvmomi-community-samples contém muitos exemplos.

    
por 05.09.2014 / 14:48
0

Chegou a hora de o Python ter as ligações do vSphere / VMware.

Eu tenho uma API iniciada em cima de espuma. Você pode querer seguir (ou participar) do meu projeto no BitBucket:

link

Sou novo no Python, mas no mínimo ele mostrará como usar o suds para falar com o SDK dos serviços da Web.

    
por 24.08.2010 / 14:50