1

特别是,我正在使用 python 和 vmware vsphere 来使虚拟机的创建/开机和类似的东西自动化。我知道如何打印虚拟机的属性,但是我仍然无法调用任何方法,因为我不知道如何。

这是我遇到问题的代码片段:

for vm in virtual_machines:
print "VM: "+vm['name']+"  ("+vm['runtime.powerState']+") ",
if hasattr(vm['guest'],'ipAddress'):
    print vm['guest'].ipAddress,
if vm['runtime.powerState'] == 'poweredOn':
    print 'RAM: '+str(vm['summary.quickStats'].distributedMemoryEntitlement)+'MB, CPU: '+str(vm['summary.quickStats'].distributedCpuEntitlement)+'MHz',
if vm['name'] == 'VIRT_VZ_114':
    # This is the trouble maker, it says types mismatch "suds.TypeNotFound: Type not found: 'guest'"
    client.service.PowerOnVM_Task(mo_VirtualMachine,vm)
print

如何正确调用方法?

4

1 回答 1

0

你看过psphere吗?

这是一个为 vSphere Web 服务 SDK 提供本机绑定的 python 项目。

您可以使用专用库更快地解决您的问题,而不是为泡沫、SOAP 和 WDSL 问题而苦苦挣扎。它实际上在底层使用了 suds,但为您提供了一个 Python 的 API。

于 2012-05-25T17:04:20.917 回答