我正在使用pyVmomi查询我的vCenter,以获取其基本组件(数据存储,文件夹...)。
问题是我只希望将项目绑定到特定的数据中心。我也想将此数据中心作为参数传递。
我的代码如下:
from pyVim.connect import SmartConnect
from pyVmomi import vim
import ssl
from connection_infos import host, user, password
from connect import Connect
si = Connect(host, user, password)
content = si.RetrieveContent()
# Get all items names of "vimtype"
def get_all_items(content, vimtype):
items = {}
container = content.viewManager.CreateContainerView(content.rootFolder, vimtype, True)
for managed_object_ref in container.view:
items.update({managed_object_ref: managed_object_ref.name})
return items
# Print ESXi
esxis = get_all_items(content, [vim.HostSystem])
for esxi in esxis:
print(esxi.name)
# Print clusters
clusters = get_all_items(content, [vim.ComputeResource])
for cluster in clusters:
print(cluster.name)
# Print NIC
networks = get_all_items(content, [vim.Network])
for network in networks:
print(network.name)
# Print Datastores
datastores = get_all_items(content, [vim.Datastore])
for datastore in datastores:
print(datastore.name)
# Print Datacenters
datacenters = get_all_items(content, [vim.Datacenter])
for datacenter in datacenters:
print(datacenter.name)
使用此代码,我可以将需要的所有物品收集到两个DC中。
我想说,将数据中心作为参数传递,并将每个NIC,数据存储库……与该特定数据中心绑定。
任何帮助将不胜感激!
谢谢, 西蒙