Я хотел бы автоматически получить список или массив виртуальных машин (MAC-адрес / имя / пул ресурсов), которые в настоящее время созданы на сервере vSphere, и использовать его в приложении Python. Может кто-нибудь предложить хороший подход или решение для этого? Я новичок в платформе vSphere. Спасибо.
Вам, вероятно, стоит взглянуть на VMWare VIX API:
http://www.vmware.com/support/developer/vix-api/
К сожалению, у него нет поддержки Python. Я не знаю, можно ли заставить python использовать поддержку C? Вы можете использовать Perl или Powershell
Если это должен быть python, тогда есть pyvix:
http://sourceforge.net/projects/pyvix/
Никогда не использовал и не знаю, работает ли.
Я недавно выпустил pysphere: http://code.google.com/p/pysphere/
В частности, для вашего случая
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()
Взгляните на pyVmomi проект, который является официальным SDK Python для VMware vSphere API, который позволяет управлять ESX, ESXi и vCenter.
Более того, pyvmomi-сообщества-образцы репозиторий содержит множество примеров.
Пришло время, чтобы Python получил привязки vSphere / VMware.
Я запустил API поверх пены. Возможно, вы захотите подписаться на мой проект на BitBucket (или присоединиться к нему):
http://jkinred.bitbucket.org/psphere/
Я новичок в Python, но, как минимум, он покажет вам, как использовать пену для общения с SDK веб-сервисов.