问题描述
我正在尝试(但失败)弄清楚如何使用pyvmomi为vCenter中的所有VM检索名为“所有者”的自定义属性。
摘要=虚拟机摘要 打印(summary.config.name,“”,summary.runtime.powerState,“ summary.config.uuid)
但是,我无法弄清楚如何为vCenter中的所有VM检索名为“所有者”的自定义属性。
预先感谢
解决方法
CustomAttribute分别存储在customValue字段中。每个customValue都有其名称和键,在您的情况下,“所有者”是名称,您需要先获取其键。
这是一个示例:
conn=connect.SmartConnect(host='***',user='***',pwd='***',port=443)
content = conn.RetrieveContent()
cfm = content.customFieldsManager
required_field = ["Owner"]
my_customField = {}
for my_field in cfm.field:
if my_field.name in required_field:
my_customField[my_field.key]=my_field.name
键及其显示名称在my_customField字典中,您可以通过它获取customValue
for opts in vm.customValue:
if opts.key in my_customField:
output[my_customField[opts.key]]=opts.value
在输出字典中,您拥有想要的东西。