目錄
2.通過分析vcenter的mob來獲取相關的信息,保證能夠正確獲取
1.Python代碼如下
from pyVim import connect
import atexit
service_instance = connect.SmartConnect(host='172.18.xx.xx',user='[email protected]',pwd='xxxxxx',port=443)
content = service_instance.RetrieveContent()
vcontent = service_instance.content
print '{}'.format(vcontent)
print '{}'.format(type(vcontent.dvSwitchManager))
print '{}'.format(vcontent.dvSwitchManager.__dict__.items())
print '{}'.format(vcontent.dvSwitchManager.QueryAvailableDvsSpec())
2.通過分析vcenter的mob來獲取相關的信息,保證能夠正確獲取
打開vcenter的mob,找到name爲dvSwitchManager的屬性,它會返回類型爲DistributeVirtuaSwitchManager的類名DVSManager,
點開DVSManager,找到其相關的屬性和方法
3.找到相關的屬性和方法,在程序中進行調用
4.程序返回結果:
(vim.ServiceInstanceContent) {
dynamicType = <unset>,
dynamicProperty = (vmodl.DynamicProperty) [],
rootFolder = 'vim.Folder:group-d1',
propertyCollector = 'vmodl.query.PropertyCollector:propertyCollector',
viewManager = 'vim.view.ViewManager:ViewManager',
about = (vim.AboutInfo) {
dynamicType = <unset>,
dynamicProperty = (vmodl.DynamicProperty) [],
name = 'VMware vCenter Server',
fullName = 'VMware vCenter Server 6.7.0 build-8170161',
vendor = 'VMware, Inc.',
version = '6.7.0',
build = '8170161',
localeVersion = 'INTL',
localeBuild = '000',
osType = 'linux-x64',
productLineId = 'vpx',
apiType = 'VirtualCenter',
apiVersion = '6.7',
instanceUuid = 'e10eb4f6-ea8e-4b00-a15b-5240175fd339',
licenseProductName = 'VMware VirtualCenter Server',
licenseProductVersion = '6.0'
},
setting = 'vim.option.OptionManager:VpxSettings',
userDirectory = 'vim.UserDirectory:UserDirectory',
sessionManager = 'vim.SessionManager:SessionManager',
authorizationManager = 'vim.AuthorizationManager:AuthorizationManager',
serviceManager = 'vim.ServiceManager:ServiceMgr',
perfManager = 'vim.PerformanceManager:PerfMgr',
scheduledTaskManager = 'vim.scheduler.ScheduledTaskManager:ScheduledTaskManager',
alarmManager = 'vim.alarm.AlarmManager:AlarmManager',
eventManager = 'vim.event.EventManager:EventManager',
taskManager = 'vim.TaskManager:TaskManager',
extensionManager = 'vim.ExtensionManager:ExtensionManager',
customizationSpecManager = 'vim.CustomizationSpecManager:CustomizationSpecManager',
customFieldsManager = 'vim.CustomFieldsManager:CustomFieldsManager',
accountManager = <unset>,
diagnosticManager = 'vim.DiagnosticManager:DiagMgr',
licenseManager = 'vim.LicenseManager:LicenseManager',
searchIndex = 'vim.SearchIndex:SearchIndex',
fileManager = 'vim.FileManager:FileManager',
datastoreNamespaceManager = 'vim.DatastoreNamespaceManager:DatastoreNamespaceManager',
virtualDiskManager = 'vim.VirtualDiskManager:virtualDiskManager',
virtualizationManager = <unset>,
snmpSystem = 'vim.host.SnmpSystem:SnmpSystem',
vmProvisioningChecker = 'vim.vm.check.ProvisioningChecker:ProvChecker',
vmCompatibilityChecker = 'vim.vm.check.CompatibilityChecker:CompatChecker',
ovfManager = 'vim.OvfManager:OvfManager',
ipPoolManager = 'vim.IpPoolManager:IpPoolManager',
dvSwitchManager = 'vim.dvs.DistributedVirtualSwitchManager:DVSManager',
hostProfileManager = 'vim.profile.host.ProfileManager:HostProfileManager',
clusterProfileManager = 'vim.profile.cluster.ProfileManager:ClusterProfileManager',
complianceManager = 'vim.profile.ComplianceManager:MoComplianceManager',
localizationManager = 'vim.LocalizationManager:LocalizationManager',
storageResourceManager = 'vim.StorageResourceManager:StorageResourceManager',
guestOperationsManager = 'vim.vm.guest.GuestOperationsManager:guestOperationsManager'
}
<class 'pyVmomi.VmomiSupport.vim.dvs.DistributedVirtualSwitchManager'>
[('_stub', <pyVmomi.SoapAdapter.SoapStubAdapter instance at 0x7fb406bdd200>), ('_moId', u'DVSManager'), ('_serverGuid', None)]
(vim.dvs.ProductSpec) [
(vim.dvs.ProductSpec) {
dynamicType = <unset>,
dynamicProperty = (vmodl.DynamicProperty) [],
name = 'DVS',
vendor = 'VMware, Inc.',
version = '6.0.0',
build = <unset>,
forwardingClass = 'etherswitch',
bundleId = <unset>,
bundleUrl = <unset>
},
(vim.dvs.ProductSpec) {
dynamicType = <unset>,
dynamicProperty = (vmodl.DynamicProperty) [],
name = 'DVS',
vendor = 'VMware, Inc.',
version = '6.5.0',
build = <unset>,
forwardingClass = 'etherswitch',
bundleId = <unset>,
bundleUrl = <unset>
},
(vim.dvs.ProductSpec) {
dynamicType = <unset>,
dynamicProperty = (vmodl.DynamicProperty) [],
name = 'DVS',
vendor = 'VMware, Inc.',
version = '6.6.0',
build = <unset>,
forwardingClass = 'cswitch',
bundleId = <unset>,
bundleUrl = <unset>
}
]