有没有办法使用任何 API/SDK/REST 来获取 vsphere 构建版本?
我知道可以在vcenter上使用Powershell,但如果有其他选择,那就太好了。
如下所述: https://www.virtuallyghetto.com/2017/08/powercli-script-to-help-correlate-vcenter-esxi-vsan-buildversions-wo-manual-vmware-kb-lookup.html
看起来您应该能够使用VMware vSphere API Python Bindings,因为您可以模拟通过托管对象浏览器。
Parent Managed Object ID: ServiceInstance
Property Path: content.about
然后有一个build
字符串,这就是您正在寻找的。
我想出了如何做到这一点,我需要尽可能多地获得有关 vsphere 的信息,因此获取数据中心、集群和主机详细信息是 mantaroy。
为此,我使用了官方的 ruby api,rbvmomi,但我相信这对于 python one 和 golang 来说是完全相同的。
需要通过 root/children 对象下的主机文件夹进行交互,这在 wmware api 文档中并不那么清楚,以便更轻松地遵循一段代码:
vim = RbVmomi::VIM.connect host: host, user: 'user', password: 'pass', insecure: true, debug: false
vim.root.children.each do |root_child|
root_child.hostFolder.children.each do |child|
child.host.each do |host|
prod = host.config.product
puts host.name,
prod.apiType,
prod.apiVersion,
prod.build,
prod.fullName,
prod.instanceUuid,
prod.licenseProductName,
prod.localeBuild,
prod.localeVersion,
prod.name,
prod.osType,
prod.productLineId,
prod.vendor,
prod.version
end
end
end