PySphere/pyvmomi 如何检索 ESXi 主机的 DNS 和路由设置?
PySphere/pyvmomi how to retrieve the DNS and Routing settings of an EXSi host?
使用 PySphere 库如何检索 EXSi 主机的 'DNS and Routing' 配置。
这里我需要检索DNS和路由下的名称属性 -udm00esx04
上VMware pyvmomi page, there is a link to the vSphere WS SDK API documentation。
虽然该文档并不总是直观的,但它是我找到此类问题答案的地方。
要回答你的问题,你需要获取宿主对象,然后获取你想要的网络属性(attributes)。假设"esxi"是一个vim.HostSystem类型的对象,下面会得到你想要的信息:
# dns name
esxi.config.network.dnsConfig.hostName
# domain name
esxi.config.network.dnsConfig.domainName
from pyVim import connect
from pyVmomi import vmodl
from pyVmomi import vim
address = ''
username = ''
password = ''
con = connect.SmartConnect(host=address, user=username, pwd=password)
content = con.RetrieveContent()
cv = content.viewManager.CreateContainerView(
container=content.rootFolder, type=[vim.HostSystem], recursive=True)
for child in cv.view:
print child.name, ": ", child.config.network.dnsConfig.hostName
这里我需要检索DNS和路由下的名称属性 -udm00esx04
上VMware pyvmomi page, there is a link to the vSphere WS SDK API documentation。
虽然该文档并不总是直观的,但它是我找到此类问题答案的地方。
要回答你的问题,你需要获取宿主对象,然后获取你想要的网络属性(attributes)。假设"esxi"是一个vim.HostSystem类型的对象,下面会得到你想要的信息:
# dns name
esxi.config.network.dnsConfig.hostName
# domain name
esxi.config.network.dnsConfig.domainName
from pyVim import connect
from pyVmomi import vmodl
from pyVmomi import vim
address = ''
username = ''
password = ''
con = connect.SmartConnect(host=address, user=username, pwd=password)
content = con.RetrieveContent()
cv = content.viewManager.CreateContainerView(
container=content.rootFolder, type=[vim.HostSystem], recursive=True)
for child in cv.view:
print child.name, ": ", child.config.network.dnsConfig.hostName