通过python访问vSphere ESX / ESXi服务器

我想自动获取当前在vSphere服务器上创build的虚拟机(mac地址/名称/资源池)的列表或arrays,并在python应用程序中使用它。 有人可以build议一个好的方法或解决scheme来做到这一点? 我对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项目,它是VMware vSphere API的官方Python SDK,允许您pipe理ESX,ESXi和vCenter。

而且, pyvmomi-community-samples存储库包含了很多示例。

现在是Python获得vSphere / VMware绑定的时候了。

我已经有了一个以泡沫开始的API。 您可能想关注(或join)我在BitBucket上的项目:

http://jkinred.bitbucket.org/psphere/

我是Python的新手,但至less会告诉你如何使用泡沫与Web服务SDK交谈。