【问题标题】:How to call method on suds in python?如何在python中调用suds的方法?
【发布时间】:2012-05-25 16:50:08
【问题描述】:

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

这是我遇到问题的代码 sn-p:

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

如何正确调用方法?

【问题讨论】:

  • mo_VirtualMachine是什么类型的对象? PowerOnMVM_Task 的 WSDL 签名是什么?
  • 哦,mo_VirtualMachine 忘记删了,应该是托管对象引用

标签: python api vmware suds vsphere


【解决方案1】:

你看过psphere吗?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    相关资源
    最近更新 更多