首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python pysphere检索ESX vApp属性

使用python pysphere检索ESX vApp属性
EN

Stack Overflow用户
提问于 2013-10-09 22:48:39
回答 2查看 1K关注 0票数 1

我正在处理一组Python脚本,这些脚本应该是用来操作ESX虚拟机vApp属性的。我已经找到了pySphere,并且我能够添加/编辑key/label/value属性,但是,我似乎找不到一种方法来检索这些属性--没有关于pySphere项目的文档,而且类/方法缺少文档字符串,所以iPython不是很好用。

有没有人知道列出这些属性的方法,或者可以告诉我关于使用pySphere来列出这些属性的源代码?

S.

EN

回答 2

Stack Overflow用户

发布于 2014-03-06 04:58:12

我用这个脚本获得了vApp属性:

代码语言:javascript
复制
s = VIServer()
s.connect('vcenter.example.com', 'username', 'password')
vm = s.get_vm_by_name('vm01')
props = s._retrieve_properties_traversal(property_names=['config.vAppConfig.property'], obj_type="VirtualMachine", from_node=vm._mor)
for prop_set in props:
    for prop in prop_set.PropSet:
        for i in prop.Val.get_element_VAppPropertyInfo():
            print i.get_element_label() + ' = ' + i.get_element_value()

不是很好,但很管用。

票数 0
EN

Stack Overflow用户

发布于 2013-12-29 00:37:43

编辑:问题是关于检索属性的。下面的答案没有答案,但是如果你碰巧遇到这个线程(就像我一样)想要添加/编辑/删除属性,你可能会发现这个答案很有用。

在谷歌上搜索pysphere vApp properties,第一个结果是:Access to, and modify, a VMs vApp Properties

引用食谱的要点:

代码语言:javascript
复制
# ... import, connect to server etc. ...

request = VI.ReconfigVM_TaskRequestMsg()
_this = request.new__this(vm._mor)
_this.set_attribute_type(vm._mor.get_attribute_type())
request.set_element__this(_this)

spec = request.new_spec()
vappconfig = spec.new_vAppConfig()

# e.g.
prop = vappconfig.new_property()
prop.set_element_operation('add')
info = prop.new_info()
info.set_element_key(10)
info.set_element_id("10")
info.set_element_value("test")
info.set_element_category("testCat")

vappconfig.set_element_property([prop])
spec.set_element_vAppConfig(vappconfig)

request.set_element_spec(spec)
task = viserver._proxy.ReconfigVM_Task(request)._returnval
vi_task = VITask(task, viserver)

status = vi_task.wait_for_state([vi_task.STATE_SUCCESS,
                                 vi_task.STATE_ERROR])

链接本身提供了一个更好的包装器,用于进行字典定义的多个添加/编辑/删除修改。看看这个。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19275364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档