目录

 

detail_host

detail_network_port

detail_host_config

detail_vswitch

detail_host_pnic

detail_host_vnic

detail_host_hardware

 


detail_host

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/26 10:10
# software: PyCharm
from xxxxx.vmware_api.detail_network_port import detail_network_port
from xxxxxxx.vmware_api.detail_host_config import detail_host_config
from xxxxxx.vmware_api.detail_host_hardware import detail_host_hardwaredef detail_host(host=None):host_tmp = {}host_tmp['_moId'] = host._moIdhost_tmp['name'] = host.namehost_tmp['alarmActionsEnabled'] = host.alarmActionsEnabledhost_tmp['answerFileValidationResult'] = host.answerFileValidationResulthost_tmp['answerFileValidationState'] = host.answerFileValidationStatehost_tmp['capability'] = {}host_tmp['capability']['accel3dSupported'] = host.capability.accel3dSupportedhost_tmp['capability']['backgroundSnapshotsSupported'] = host.capability.backgroundSnapshotsSupportedhost_tmp['capability']['cloneFromSnapshotSupported'] = host.capability.cloneFromSnapshotSupportedhost_tmp['capability']['cpuHwMmuSupported'] = host.capability.cpuHwMmuSupportedhost_tmp['capability']['cpuMemoryResourceConfigurationSupported'] = host.capability.cpuMemoryResourceConfigurationSupportedhost_tmp['capability']['cryptoSupported'] = host.capability.cryptoSupportedhost_tmp['capability']['datastorePrincipalSupported'] = host.capability.datastorePrincipalSupportedhost_tmp['capability']['deltaDiskBackingsSupported'] = host.capability.deltaDiskBackingsSupportedhost_tmp['capability']['eightPlusHostVmfsSharedAccessSupported'] = host.capability.eightPlusHostVmfsSharedAccessSupportedhost_tmp['capability']['encryptedVMotionSupported'] = host.capability.encryptedVMotionSupportedhost_tmp['capability']['encryptionCBRCSupported'] = host.capability.encryptionCBRCSupportedhost_tmp['capability']['encryptionChangeOnAddRemoveSupported'] = host.capability.encryptionChangeOnAddRemoveSupportedhost_tmp['capability']['encryptionFaultToleranceSupported'] = host.capability.encryptionFaultToleranceSupportedhost_tmp['capability']['encryptionHBRSupported'] = host.capability.encryptionHBRSupportedhost_tmp['capability']['encryptionHotOperationSupported'] = host.capability.encryptionHotOperationSupportedhost_tmp['capability']['encryptionMemorySaveSupported'] = host.capability.encryptionMemorySaveSupportedhost_tmp['capability']['encryptionRDMSupported'] = host.capability.encryptionRDMSupportedhost_tmp['capability']['encryptionVFlashSupported'] = host.capability.encryptionVFlashSupportedhost_tmp['capability']['encryptionWithSnapshotsSupported'] = host.capability.encryptionWithSnapshotsSupportedhost_tmp['capability']['featureCapabilitiesSupported'] = host.capability.featureCapabilitiesSupportedhost_tmp['capability']['firewallIpRulesSupported'] = host.capability.firewallIpRulesSupportedftCompatibilityIssues_list = []for ftCompatibilityIssues in host.capability.ftCompatibilityIssues:ftCompatibilityIssues_list.append(ftCompatibilityIssues)host_tmp['capability']['ftCompatibilityIssues'] = ftCompatibilityIssues_listhost_tmp['capability']['ftEfiSupported'] = host.capability.ftEfiSupportedhost_tmp['capability']['ftVmcpSupported'] = host.capability.ftVmcpSupportedhost_tmp['capability']['gatewayOnNicSupported'] = host.capability.gatewayOnNicSupportedhost_tmp['capability']['hbrNicSelectionSupported'] = host.capability.hbrNicSelectionSupportedhost_tmp['capability']['highGuestMemSupported'] = host.capability.highGuestMemSupportedhost_tmp['capability']['hostAccessManagerSupported'] = host.capability.hostAccessManagerSupportedhost_tmp['capability']['interVMCommunicationThroughVMCISupported'] = host.capability.interVMCommunicationThroughVMCISupportedhost_tmp['capability']['ipmiSupported'] = host.capability.ipmiSupportedhost_tmp['capability']['latencySensitivitySupported'] = host.capability.latencySensitivitySupportedhost_tmp['capability']['localSwapDatastoreSupported'] = host.capability.localSwapDatastoreSupportedhost_tmp['capability']['loginBySSLThumbprintSupported'] = host.capability.loginBySSLThumbprintSupportedhost_tmp['capability']['maintenanceModeSupported'] = host.capability.maintenanceModeSupportedhost_tmp['capability']['markAsLocalSupported'] = host.capability.markAsLocalSupportedhost_tmp['capability']['markAsSsdSupported'] = host.capability.markAsSsdSupportedhost_tmp['capability']['maxHostSupportedVcpus'] = host.capability.maxHostSupportedVcpushost_tmp['capability']['maxHostRunningVms'] = host.capability.maxHostRunningVmshost_tmp['capability']['maxMemMBPerFtVm'] = host.capability.maxMemMBPerFtVmhost_tmp['capability']['maxNumDisksSVMotion'] = host.capability.maxNumDisksSVMotionhost_tmp['capability']['maxRegisteredVMs'] = host.capability.maxRegisteredVMshost_tmp['capability']['maxRunningVMs'] = host.capability.maxRunningVMshost_tmp['capability']['maxSupportedVMs'] = host.capability.maxSupportedVMshost_tmp['capability']['maxVcpusPerFtVm'] = host.capability.maxVcpusPerFtVmhost_tmp['capability']['maxSupportedVcpus'] = host.capability.maxSupportedVcpushost_tmp['capability']['messageBusProxySupported'] = host.capability.messageBusProxySupportedhost_tmp['capability']['multipleNetworkStackInstanceSupported'] = host.capability.multipleNetworkStackInstanceSupportedhost_tmp['capability']['nestedHVSupported'] = host.capability.nestedHVSupportedhost_tmp['capability']['multipleNetworkStackInstanceSupported'] = host.capability.multipleNetworkStackInstanceSupportedhost_tmp['capability']['nfs41Krb5iSupported'] = host.capability.nfs41Krb5iSupportedhost_tmp['capability']['nfs41Supported'] = host.capability.nfs41Supportedhost_tmp['capability']['nfsSupported'] = host.capability.nfsSupportedhost_tmp['capability']['nicTeamingSupported'] = host.capability.nicTeamingSupportedhost_tmp['capability']['pMemSnapshotSupported'] = host.capability.pMemSnapshotSupportedhost_tmp['capability']['oneKVolumeAPIsSupported'] = host.capability.oneKVolumeAPIsSupportedhost_tmp['capability']['pMemSnapshotSupported'] = host.capability.pMemSnapshotSupportedhost_tmp['capability']['oneKVolumeAPIsSupported'] = host.capability.oneKVolumeAPIsSupportedhost_tmp['capability']['pMemSupported'] = host.capability.pMemSupportedhost_tmp['capability']['perVMNetworkTrafficShapingSupported'] = host.capability.perVMNetworkTrafficShapingSupportedhost_tmp['capability']['perVmSwapFiles'] = host.capability.perVmSwapFileshost_tmp['capability']['preAssignedPCIUnitNumbersSupported'] = host.capability.preAssignedPCIUnitNumbersSupportedhost_tmp['capability']['provisioningNicSelectionSupported'] = host.capability.provisioningNicSelectionSupportedhost_tmp['capability']['rebootSupported'] = host.capability.rebootSupportedhost_tmp['capability']['recordReplaySupported'] = host.capability.recordReplaySupportedhost_tmp['capability']['recursiveResourcePoolsSupported'] = host.capability.recursiveResourcePoolsSupportedhost_tmp['capability']['reliableMemoryAware'] = host.capability.reliableMemoryAwarereplayCompatibilityIssues_list = []for replayCompatibilityIssues in host.capability.replayCompatibilityIssues:replayCompatibilityIssues_list.append(replayCompatibilityIssues)host_tmp['capability']['replayCompatibilityIssues'] = replayCompatibilityIssues_listhost_tmp['capability']['replayUnsupportedReason'] = host.capability.replayUnsupportedReasonhost_tmp['capability']['restrictedSnapshotRelocateSupported'] = host.capability.restrictedSnapshotRelocateSupportedhost_tmp['capability']['sanSupported'] = host.capability.sanSupportedhost_tmp['capability']['scaledScreenshotSupported'] = host.capability.scaledScreenshotSupportedhost_tmp['capability']['scheduledHardwareUpgradeSupported'] = host.capability.scheduledHardwareUpgradeSupportedhost_tmp['capability']['screenshotSupported'] = host.capability.screenshotSupportedhost_tmp['capability']['servicePackageInfoSupported'] = host.capability.servicePackageInfoSupportedhost_tmp['capability']['shutdownSupported'] = host.capability.shutdownSupportedhost_tmp['capability']['smartCardAuthenticationSupported'] = host.capability.smartCardAuthenticationSupportedsmpFtCompatibilityIssues_list = []for smpFtCompatibilityIssues in host.capability.smpFtCompatibilityIssues:smpFtCompatibilityIssues_list.append(smpFtCompatibilityIssues)host_tmp['capability']['smpFtCompatibilityIssues'] = smpFtCompatibilityIssues_listhost_tmp['capability']['smpFtSupported'] = host.capability.smpFtSupportedhost_tmp['capability']['snapshotRelayoutSupported'] = host.capability.snapshotRelayoutSupportedhost_tmp['capability']['standbySupported'] = host.capability.standbySupportedhost_tmp['capability']['storageIORMSupported'] = host.capability.storageIORMSupportedhost_tmp['capability']['storagePolicySupported'] = host.capability.storagePolicySupportedhost_tmp['capability']['storageVMotionSupported'] = host.capability.storageVMotionSupportedhost_tmp['capability']['supportedCpuFeature'] = host.capability.supportedCpuFeaturesupportedVmfsMajorVersion_list = []for supportedVmfsMajorVersion in host.capability.supportedVmfsMajorVersion:supportedVmfsMajorVersion_list.append(supportedVmfsMajorVersion)host_tmp['capability']['supportedVmfsMajorVersion'] = supportedVmfsMajorVersion_listhost_tmp['capability']['suspendedRelocateSupported'] = host.capability.suspendedRelocateSupportedhost_tmp['capability']['tpmSupported'] = host.capability.tpmSupportedhost_tmp['capability']['tpmVersion'] = host.capability.tpmVersionhost_tmp['capability']['storagePolicySupported'] = host.capability.storagePolicySupportedhost_tmp['capability']['supportedCpuFeature'] = host.capability.supportedCpuFeaturehost_tmp['capability']['suspendedRelocateSupported'] = host.capability.suspendedRelocateSupportedhost_tmp['capability']['tpmSupported'] = host.capability.tpmSupportedhost_tmp['capability']['upitSupported'] = host.capability.upitSupportedhost_tmp['capability']['vFlashSupported'] = host.capability.vFlashSupportedhost_tmp['capability']['vPMCSupported'] = host.capability.vPMCSupportedhost_tmp['capability']['vStorageCapable'] = host.capability.vStorageCapablehost_tmp['capability']['virtualExecUsageIgnored'] = host.capability.virtualExecUsageIgnoredhost_tmp['capability']['virtualExecUsageSupported'] = host.capability.virtualExecUsageSupportedhost_tmp['capability']['virtualMmuUsageIgnored'] = host.capability.virtualMmuUsageIgnoredhost_tmp['capability']['virtualVolumeDatastoreSupported'] = host.capability.virtualVolumeDatastoreSupportedhost_tmp['capability']['vlanTaggingSupported'] = host.capability.vlanTaggingSupportedhost_tmp['capability']['vmCreateDateSupported'] = host.capability.vmCreateDateSupportedvmDirectPathGen2UnsupportedReason_list = []for vmDirectPathGen2UnsupportedReason in host.capability.vmDirectPathGen2UnsupportedReason:vmDirectPathGen2UnsupportedReason_list.append(vmDirectPathGen2UnsupportedReason)host_tmp['capability']['vmDirectPathGen2UnsupportedReason'] = vmDirectPathGen2UnsupportedReason_listhost_tmp['capability']['vmDirectPathGen2UnsupportedReasonExtended'] = host.capability.vmDirectPathGen2UnsupportedReasonExtendedhost_tmp['capability']['vmfs3EOLSupported'] = host.capability.vmfs3EOLSupportedhost_tmp['capability']['vmotionAcrossNetworkSupported'] = host.capability.vmotionAcrossNetworkSupportedhost_tmp['capability']['vmotionSupported'] = host.capability.vmotionSupportedhost_tmp['capability']['vmotionWithStorageVMotionSupported'] = host.capability.vmotionWithStorageVMotionSupportedhost_tmp['capability']['vrNfcNicSelectionSupported'] = host.capability.vrNfcNicSelectionSupportedhost_tmp['capability']['vsanSupported'] = host.capability.vsanSupported# host.config的处理开始host_tmp.update(detail_host_config(host.config))# host.config的处理结束configIssue_list = []for configIssue in host.configIssue:configIssue_tmp = {}configIssue_tmp['chainId'] = configIssue.chainIdconfigIssue_tmp['changeTag'] = configIssue.changeTagconfigIssue_tmp['computeResource'] = {}configIssue_tmp['computeResource']['name'] = configIssue.computeResource.nameconfigIssue_tmp['createdTime'] = configIssue.createdTimeif configIssue.createdTime is not None:configIssue_tmp['createdTime'] = configIssue.createdTime.strftime('%Y-%m-%d %H:%M:%S')configIssue_tmp['datacenter'] = {}configIssue_tmp['datacenter']['name'] = configIssue.datacenter.nameconfigIssue_tmp['ds'] = configIssue.dsconfigIssue_tmp['dvs'] = configIssue.dvsconfigIssue_tmp['fullFormattedMessage'] = configIssue.fullFormattedMessageconfigIssue_tmp['host'] = {}configIssue_tmp['host']['name'] = configIssue.host.nameconfigIssue_tmp['key'] = configIssue.keyconfigIssue_tmp['net'] = configIssue.netconfigIssue_tmp['vm'] = configIssue.vmconfigIssue_list.append(configIssue_tmp)host_tmp['configIssue'] = configIssue_listhost_tmp['configManager'] = {}host_tmp['configStatus'] = host.configStatushost_tmp['datastore'] = {}host_tmp['datastoreBrowser'] = {}host_tmp['declaredAlarmState'] = {}host_tmp['disabledMethod'] = {}host_tmp['effectiveRole'] = {}# host.hardware starthost_tmp.update(detail_host_hardware(host.hardware))# host.hardware wndhost_tmp['licensableResource'] = {}resource_list = []for resource in host.licensableResource.resource:resource_tmp = {}resource_tmp['key'] = resource.keyresource_tmp['value'] = resource.valueresource_list.append(resource_tmp)host_tmp['licensableResource']['resource'] = resource_listhost_tmp['name'] = host.namenetwork_list = []for host_network in host.network:network_tmp = detail_network_port(host_network)if len(network_tmp) > 0:network_list.append(network_tmp)host_tmp['network'] = network_listreturn host_tmp# -*- coding: utf-8 -*-
from pyvim import connect
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
import atexitvcenter_address = 'vc22.xxxxxxxxx.com'
service_instance = connect.SmartConnect(host=vcenter_address,user='administrator@xxx.xxxxxx',pwd='P@xxxxx',port=443)content = service_instance.RetrieveContent()
vcontent = service_instance.contentfrom cloudenforce.vmware_api.vcenter_mongo import insert_patchif __name__ == '__main__':data_list = []for datacenter in vcontent.rootFolder.childEntity:for cluster in datacenter.hostFolder.childEntity:for host in cluster.host:data_list.append(detail_host(host=host))print(data_list)insert_patch(data_list, 'vcenter_host')

detail_network_port

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/24 21:13
# software: PyCharm
from xxxxxx.vmware_api.detail_dvs import detail_dvs
import pyVmomidef detail_network_port(network=None):network_port_tmp = {}network_port_tmp['alarmActionsEnabled'] = network.alarmActionsEnablednetwork_port_tmp['availableField'] = []if hasattr(network, 'config'):# 判断是个dvs的分布式端口组network_port_tmp['config'] = {}network_port_tmp['config']['autoExpand'] = network.config.autoExpandnetwork_port_tmp['config']['configVersion'] = network.config.configVersionnetwork_port_tmp['config']['defaultPortConfig'] = {}network_port_tmp['config']['defaultPortConfig']['blocked'] = {}network_port_tmp['config']['defaultPortConfig']['blocked']['inherited'] = network.config.defaultPortConfig.blocked.inheritednetwork_port_tmp['config']['defaultPortConfig']['blocked']['value'] = network.config.defaultPortConfig.blocked.valuenetwork_port_tmp['config']['defaultPortConfig']['filterPolicy'] = {}filterConfig_list = []for filterConfig in network.config.defaultPortConfig.filterPolicy.filterConfig:filterConfig_tmp = {}filterConfig_tmp['inherited'] = filterConfig.inheritedfilterConfig_tmp['key'] = filterConfig.keyfilterConfig_tmp['agentName'] = filterConfig.agentNamefilterConfig_tmp['slotNumber'] = filterConfig.slotNumberfilterConfig_tmp['parameters'] = filterConfig.parametersfilterConfig_tmp['onFailure'] = filterConfig.onFailurefilterConfig_tmp['trafficRuleset'] = {}filterConfig_tmp['trafficRuleset']['key'] = filterConfig.trafficRuleset.keyfilterConfig_tmp['trafficRuleset']['enabled'] = filterConfig.trafficRuleset.enabledfilterConfig_tmp['trafficRuleset']['precedence'] = filterConfig.trafficRuleset.precedencefilterConfig_tmp['trafficRuleset']['rules'] = []filterConfig_list.append(filterConfig_tmp)network_port_tmp['config']['defaultPortConfig']['filterPolicy']['filterConfig'] = filterConfig_listnetwork_port_tmp['config']['defaultPortConfig']['filterPolicy']['inherited'] = network.config.defaultPortConfig.filterPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['averageBandwidth'] = {}network_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['averageBandwidth']['inherited'] = network.config.defaultPortConfig.inShapingPolicy.averageBandwidth.inheritednetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['averageBandwidth']['value'] = network.config.defaultPortConfig.inShapingPolicy.averageBandwidth.valuenetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['burstSize'] = {}network_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['burstSize']['inherited'] = network.config.defaultPortConfig.inShapingPolicy.burstSize.inheritednetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['burstSize']['value'] = network.config.defaultPortConfig.inShapingPolicy.burstSize.valuenetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['enabled'] = {}network_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['enabled']['inherited'] = network.config.defaultPortConfig.inShapingPolicy.enabled.inheritednetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['enabled']['value'] = network.config.defaultPortConfig.inShapingPolicy.enabled.valuenetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['inherited'] = network.config.defaultPortConfig.inShapingPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['peakBandwidth'] = {}network_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['peakBandwidth']['inherited'] = network.config.defaultPortConfig.inShapingPolicy.peakBandwidth.inheritednetwork_port_tmp['config']['defaultPortConfig']['inShapingPolicy']['peakBandwidth']['value'] = network.config.defaultPortConfig.inShapingPolicy.peakBandwidth.valuenetwork_port_tmp['config']['defaultPortConfig']['ipfixEnabled'] = {}network_port_tmp['config']['defaultPortConfig']['ipfixEnabled']['inherited'] = network.config.defaultPortConfig.ipfixEnabled.inheritednetwork_port_tmp['config']['defaultPortConfig']['ipfixEnabled']['value'] = network.config.defaultPortConfig.ipfixEnabled.valuenetwork_port_tmp['config']['defaultPortConfig']['lacpPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['lacpPolicy']['enable'] = {}network_port_tmp['config']['defaultPortConfig']['lacpPolicy']['enable']['inherited'] = network.config.defaultPortConfig.lacpPolicy.enable.inheritednetwork_port_tmp['config']['defaultPortConfig']['lacpPolicy']['enable']['value'] = network.config.defaultPortConfig.lacpPolicy.enable.valuenetwork_port_tmp['config']['defaultPortConfig']['lacpPolicy']['inherited'] = network.config.defaultPortConfig.lacpPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['lacpPolicy']['mode'] = {}network_port_tmp['config']['defaultPortConfig']['lacpPolicy']['mode']['inherited'] = network.config.defaultPortConfig.lacpPolicy.mode.inheritednetwork_port_tmp['config']['defaultPortConfig']['lacpPolicy']['mode']['value'] = network.config.defaultPortConfig.lacpPolicy.mode.valuenetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['allowPromiscuous'] = network.config.defaultPortConfig.macManagementPolicy.allowPromiscuousnetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['forgedTransmits'] = network.config.defaultPortConfig.macManagementPolicy.forgedTransmitsnetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['inherited'] = network.config.defaultPortConfig.macManagementPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macChanges'] = network.config.defaultPortConfig.macManagementPolicy.macChangesnetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macLearningPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macLearningPolicy']['allowUnicastFlooding'] = network.config.defaultPortConfig.macManagementPolicy.macLearningPolicy.allowUnicastFloodingnetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macLearningPolicy']['enabled'] = network.config.defaultPortConfig.macManagementPolicy.macLearningPolicy.enablednetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macLearningPolicy']['inherited'] = network.config.defaultPortConfig.macManagementPolicy.macLearningPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macLearningPolicy']['limit'] = network.config.defaultPortConfig.macManagementPolicy.macLearningPolicy.limitnetwork_port_tmp['config']['defaultPortConfig']['macManagementPolicy']['macLearningPolicy']['limitPolicy'] = network.config.defaultPortConfig.macManagementPolicy.macLearningPolicy.limitPolicynetwork_port_tmp['config']['defaultPortConfig']['networkResourcePoolKey'] = {}network_port_tmp['config']['defaultPortConfig']['networkResourcePoolKey']['inherited'] = network.config.defaultPortConfig.networkResourcePoolKey.inheritednetwork_port_tmp['config']['defaultPortConfig']['networkResourcePoolKey']['value'] = network.config.defaultPortConfig.networkResourcePoolKey.valuenetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['averageBandwidth'] = {}network_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['averageBandwidth']['inherited'] = network.config.defaultPortConfig.outShapingPolicy.averageBandwidth.inheritednetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['averageBandwidth']['value'] = network.config.defaultPortConfig.outShapingPolicy.averageBandwidth.valuenetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['burstSize'] = {}network_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['burstSize']['inherited'] = network.config.defaultPortConfig.outShapingPolicy.burstSize.inheritednetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['burstSize']['value'] = network.config.defaultPortConfig.outShapingPolicy.burstSize.valuenetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['enabled'] = {}network_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['enabled']['inherited'] = network.config.defaultPortConfig.outShapingPolicy.enabled.inheritednetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['enabled']['value'] = network.config.defaultPortConfig.outShapingPolicy.enabled.valuenetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['inherited'] = network.config.defaultPortConfig.outShapingPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['peakBandwidth'] = {}network_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['peakBandwidth']['inherited'] = network.config.defaultPortConfig.outShapingPolicy.enabled.inheritednetwork_port_tmp['config']['defaultPortConfig']['outShapingPolicy']['peakBandwidth']['value'] = network.config.defaultPortConfig.outShapingPolicy.enabled.valuenetwork_port_tmp['config']['defaultPortConfig']['qosTag'] = {}network_port_tmp['config']['defaultPortConfig']['qosTag']['inherited'] = network.config.defaultPortConfig.qosTag.inheritednetwork_port_tmp['config']['defaultPortConfig']['qosTag']['value'] = network.config.defaultPortConfig.qosTag.valuenetwork_port_tmp['config']['defaultPortConfig']['securityPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['securityPolicy']['allowPromiscuous'] = {}network_port_tmp['config']['defaultPortConfig']['securityPolicy']['allowPromiscuous']['inherited'] = network.config.defaultPortConfig.securityPolicy.allowPromiscuous.inheritednetwork_port_tmp['config']['defaultPortConfig']['securityPolicy']['allowPromiscuous']['value'] = network.config.defaultPortConfig.securityPolicy.allowPromiscuous.valuenetwork_port_tmp['config']['defaultPortConfig']['securityPolicy']['forgedTransmits'] = {}network_port_tmp['config']['defaultPortConfig']['securityPolicy']['forgedTransmits']['inherited'] = network.config.defaultPortConfig.securityPolicy.forgedTransmits.inheritednetwork_port_tmp['config']['defaultPortConfig']['securityPolicy']['forgedTransmits']['value'] = network.config.defaultPortConfig.securityPolicy.forgedTransmits.valuenetwork_port_tmp['config']['defaultPortConfig']['securityPolicy']['inherited'] = network.config.defaultPortConfig.securityPolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['securityPolicy']['macChanges'] = {}network_port_tmp['config']['defaultPortConfig']['securityPolicy']['macChanges']['inherited'] = network.config.defaultPortConfig.securityPolicy.macChanges.inheritednetwork_port_tmp['config']['defaultPortConfig']['securityPolicy']['macChanges']['value'] = network.config.defaultPortConfig.securityPolicy.macChanges.valuenetwork_port_tmp['config']['defaultPortConfig']['txUplink'] = {}network_port_tmp['config']['defaultPortConfig']['txUplink']['inherited'] = network.config.defaultPortConfig.txUplink.inheritednetwork_port_tmp['config']['defaultPortConfig']['txUplink']['value'] = network.config.defaultPortConfig.txUplink.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkBeacon'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkBeacon']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkBeacon.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkBeacon']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkBeacon.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkDuplex'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkDuplex']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkDuplex.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkDuplex']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkDuplex.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkErrorPercent'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkErrorPercent']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkErrorPercent.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkErrorPercent']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkErrorPercent.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkSpeed'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkSpeed']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkSpeed.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['checkSpeed']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkSpeed.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['fullDuplex'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['fullDuplex']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.fullDuplex.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['fullDuplex']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.fullDuplex.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['percentage'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['percentage']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.percentage.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['percentage']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.percentage.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['speed'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['speed']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.speed.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['failureCriteria']['speed']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.speed.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['notifySwitches'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['notifySwitches']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.notifySwitches.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['notifySwitches']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.notifySwitches.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['policy'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['policy']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.policy.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['policy']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.policy.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['reversePolicy'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['reversePolicy']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.reversePolicy.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['reversePolicy']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.reversePolicy.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['rollingOrder'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['rollingOrder']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.rollingOrder.inheritednetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['rollingOrder']['value'] = network.config.defaultPortConfig.uplinkTeamingPolicy.rollingOrder.valuenetwork_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['uplinkPortOrder'] = {}network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['uplinkPortOrder']['inherited'] = network.config.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.inheritedactiveUplinkPort_list = []for activeUplinkPort in network.config.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.activeUplinkPort:activeUplinkPort_list.append(activeUplinkPort)network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['uplinkPortOrder']['activeUplinkPort'] = activeUplinkPort_liststandbyUplinkPort_list = []for standbyUplinkPort in network.config.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.standbyUplinkPort:standbyUplinkPort_list.append(standbyUplinkPort)network_port_tmp['config']['defaultPortConfig']['uplinkTeamingPolicy']['uplinkPortOrder']['standbyUplinkPort'] = standbyUplinkPort_listnetwork_port_tmp['config']['defaultPortConfig']['vendorSpecificConfig'] = {}network_port_tmp['config']['defaultPortConfig']['vendorSpecificConfig']['inherited'] = network.config.defaultPortConfig.vendorSpecificConfig.inheritednetwork_port_tmp['config']['defaultPortConfig']['vendorSpecificConfig']['keyValue'] = []network_port_tmp['config']['defaultPortConfig']['vlan'] = {}network_port_tmp['config']['defaultPortConfig']['vlan']['inherited'] = network.config.defaultPortConfig.vlan.inheritednetwork_port_tmp['config']['defaultPortConfig']['vlan']['vlanId'] = ''if isinstance(network.config.defaultPortConfig.vlan, pyVmomi.vim.dvs.VmwareDistributedVirtualSwitch.PvlanSpec):# PvlanSpec_list = []# for PvlanSpec in network.config.defaultPortConfig.vlan:#     PvlanSpec_tmp = {}#     PvlanSpec_tmp['PvlanSpec'] = {}#     PvlanSpec_tmp['inherited'] = PvlanSpec.inherited#     PvlanSpec_tmp['pvlanId'] = PvlanSpec.pvlanId#     PvlanSpec_list.append(PvlanSpec_tmp)network_port_tmp['config']['defaultPortConfig']['vlan']['inherited'] = network.config.defaultPortConfig.vlan.inheritednetwork_port_tmp['config']['defaultPortConfig']['vlan']['pvlanId'] = network.config.defaultPortConfig.vlan.pvlanIdelse:if isinstance(network.config.defaultPortConfig.vlan.vlanId, int):network_port_tmp['config']['defaultPortConfig']['vlan']['vlanId'] = network.config.defaultPortConfig.vlan.vlanIdelif isinstance(network.config.defaultPortConfig.vlan.vlanId, pyVmomi.vim.NumericRange):vlanId_list = []for vlanId in network.config.defaultPortConfig.vlan.vlanId:vlanId_tmp = {}vlanId_tmp['start'] = vlanId.startvlanId_tmp['end'] = vlanId.endvlanId_list.append(vlanId_tmp)network_port_tmp['config']['defaultPortConfig']['vlan']['vlanId'] = vlanId_listnetwork_port_tmp['config']['defaultPortConfig']['vmDirectPathGen2Allowed'] = {}network_port_tmp['config']['defaultPortConfig']['vmDirectPathGen2Allowed']['inherited'] = network.config.defaultPortConfig.vmDirectPathGen2Allowed.inheritednetwork_port_tmp['config']['defaultPortConfig']['vmDirectPathGen2Allowed']['value'] = network.config.defaultPortConfig.vmDirectPathGen2Allowed.valuenetwork_port_tmp['config']['description'] = network.config.description# dvs startnetwork_port_tmp['config']['distributedVirtualSwitch'] = {}network_port_tmp['config']['distributedVirtualSwitch']['_moId'] = network.config.distributedVirtualSwitch._moIdnetwork_port_tmp['config']['distributedVirtualSwitch']['name'] = network.config.distributedVirtualSwitch.name#dvs endnetwork_port_tmp['config']['key'] = network.config.keynetwork_port_tmp['config']['name'] = network.config.namenetwork_port_tmp['config']['numPorts'] = network.config.numPortsnetwork_port_tmp['config']['policy'] = {}network_port_tmp['config']['policy']['blockOverrideAllowed'] = network.config.policy.blockOverrideAllowednetwork_port_tmp['config']['policy']['ipfixOverrideAllowed'] = network.config.policy.ipfixOverrideAllowednetwork_port_tmp['config']['policy']['livePortMovingAllowed'] = network.config.policy.livePortMovingAllowednetwork_port_tmp['config']['policy']['networkResourcePoolOverrideAllowed'] = network.config.policy.networkResourcePoolOverrideAllowednetwork_port_tmp['config']['policy']['portConfigResetAtDisconnect'] = network.config.policy.portConfigResetAtDisconnectnetwork_port_tmp['config']['policy']['securityPolicyOverrideAllowed'] = network.config.policy.securityPolicyOverrideAllowednetwork_port_tmp['config']['policy']['shapingOverrideAllowed'] = network.config.policy.shapingOverrideAllowednetwork_port_tmp['config']['policy']['trafficFilterOverrideAllowed'] = network.config.policy.trafficFilterOverrideAllowednetwork_port_tmp['config']['policy']['uplinkTeamingOverrideAllowed'] = network.config.policy.uplinkTeamingOverrideAllowednetwork_port_tmp['config']['policy']['vendorConfigOverrideAllowed'] = network.config.policy.vendorConfigOverrideAllowednetwork_port_tmp['config']['policy']['vlanOverrideAllowed'] = network.config.policy.vlanOverrideAllowednetwork_port_tmp['config']['portNameFormat'] = network.config.portNameFormatnetwork_port_tmp['config']['scope'] = network.config.scopenetwork_port_tmp['config']['type'] = network.config.typenetwork_port_tmp['config']['uplink'] = network.config.uplinknetwork_port_tmp['config']['vendorSpecificConfig'] = network.config.vendorSpecificConfignetwork_port_tmp['config']['vmVnicNetworkResourcePoolKey'] = network.config.vmVnicNetworkResourcePoolKeynetwork_port_tmp['configIssue'] = []network_port_tmp['configStatus'] = network.configStatusnetwork_port_tmp['customValue'] = []network_port_tmp['declaredAlarmState'] = []network_port_tmp['disabledMethod'] = []host_list = []for host in network.host:host_tmp = {}host_tmp['name'] = host.namehost_tmp['summary'] = {}host_tmp['summary']['managementServerIp'] = host.summary.managementServerIphost_list.append(host_tmp)network_port_tmp['host'] = host_listnetwork_port_tmp['key'] = ''if hasattr(network, 'key'):network_port_tmp['key'] = network.keynetwork_port_tmp['name'] = network.namenetwork_port_tmp['overallStatus'] = network.overallStatusnetwork_port_tmp['parent'] = {}network_port_tmp['parent']['_moId'] = network.parent._moIdnetwork_port_tmp['parent']['name'] = network.parent.namenetwork_port_tmp['permission'] = []if hasattr(network, 'portKeys'):portKeys_list = []for portKeys in network.portKeys:portKeys_list.append(portKeys)network_port_tmp['portKeys'] = portKeys_listnetwork_port_tmp['recentTask'] = []network_port_tmp['summary'] = {}network_port_tmp['summary']['accessible'] = network.summary.accessiblenetwork_port_tmp['summary']['ipPoolId'] = network.summary.ipPoolIdnetwork_port_tmp['summary']['ipPoolName'] = network.summary.ipPoolNamenetwork_port_tmp['summary']['name'] = network.summary.namenetwork_port_tmp['summary']['network'] = {}network_port_tmp['summary']['network']['name'] = network.summary.network.namenetwork_port_tmp['tag'] = []network_port_tmp['triggeredAlarmState'] = []network_port_tmp['value'] = []vm_list = []for vm in network.vm:vm_tmp = {}vm_tmp['_moId'] = vm._moIdvm_tmp['name'] = vm.namevm_list.append(vm_tmp)network_port_tmp['vm'] = vm_listreturn network_port_tmp# -*- coding: utf-8 -*-
from pyvim import connect
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
import atexitvcenter_address = 'vc22.x.com'
service_instance = connect.SmartConnect(host=vcenter_address,user='xxxxxx@xxxxxx.x',pwd='xxxxxx',port=443)content = service_instance.RetrieveContent()
vcontent = service_instance.contentif __name__ == '__main__':for datacenter in vcontent.rootFolder.childEntity:for network in datacenter.network:print(detail_network_port(network))

detail_host_config

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/26 10:53
# software: PyCharm
from cloudenforce.vmware_api.detail_vswitch import detail_vswitch
from cloudenforce.vmware_api.detail_host_pnic import detail_host_pnic
from cloudenforce.vmware_api.detail_host_vnic import detail_host_vnicdef detail_host_config(config=None):host_tmp = {}host_tmp['config'] = {}host_tmp['config']['activeDiagnosticPartition'] = {}host_tmp['config']['activeDiagnosticPartition']['diagnosticType'] = config.activeDiagnosticPartition.diagnosticTypehost_tmp['config']['activeDiagnosticPartition']['id'] = {}host_tmp['config']['activeDiagnosticPartition']['id']['diskName'] = config.activeDiagnosticPartition.id.diskNamehost_tmp['config']['activeDiagnosticPartition']['id']['partition'] = config.activeDiagnosticPartition.id.partitionhost_tmp['config']['activeDiagnosticPartition']['slots'] = config.activeDiagnosticPartition.slotshost_tmp['config']['activeDiagnosticPartition']['storageType'] = config.activeDiagnosticPartition.storageTypehost_tmp['config']['adminDisabled'] = config.adminDisabledhost_tmp['config']['capabilities'] = {}host_tmp['config']['capabilities']['canSetPhysicalNicLinkSpeed'] = config.capabilities.canSetPhysicalNicLinkSpeedhost_tmp['config']['capabilities']['dhcpOnVnicSupported'] = config.capabilities.dhcpOnVnicSupportedhost_tmp['config']['capabilities']['dnsConfigSupported'] = config.capabilities.dnsConfigSupportedhost_tmp['config']['capabilities']['ipRouteConfigSupported'] = config.capabilities.ipRouteConfigSupportedhost_tmp['config']['capabilities']['ipV6Supported'] = config.capabilities.ipV6Supportedhost_tmp['config']['capabilities']['maxPortGroupsPerVswitch'] = config.capabilities.maxPortGroupsPerVswitchnicTeamingPolicy_list = []for nicTeamingPolicy in config.capabilities.nicTeamingPolicy:nicTeamingPolicy_list.append(nicTeamingPolicy)host_tmp['config']['capabilities']['nicTeamingPolicy'] = nicTeamingPolicy_listhost_tmp['config']['capabilities']['supportsNetworkHints'] = config.capabilities.supportsNetworkHintshost_tmp['config']['capabilities']['supportsNicTeaming'] = config.capabilities.supportsNicTeaminghost_tmp['config']['capabilities']['supportsVlan'] = config.capabilities.supportsVlanhost_tmp['config']['capabilities']['usesServiceConsoleNic'] = config.capabilities.usesServiceConsoleNichost_tmp['config']['capabilities']['vnicConfigSupported'] = config.capabilities.vnicConfigSupportedhost_tmp['config']['capabilities']['vswitchConfigSupported'] = config.capabilities.vswitchConfigSupportedhost_tmp['config']['consoleReservation'] = config.consoleReservationhost_tmp['config']['datastoreCapabilities'] = {}host_tmp['config']['datastoreCapabilities']['localDatastoreSupported'] = config.datastoreCapabilities.localDatastoreSupportedhost_tmp['config']['datastoreCapabilities']['nfsMountCreationRequired'] = config.datastoreCapabilities.nfsMountCreationRequiredhost_tmp['config']['datastoreCapabilities']['nfsMountCreationSupported'] = config.datastoreCapabilities.nfsMountCreationSupportedhost_tmp['config']['datastoreCapabilities']['vmfsExtentExpansionSupported'] = config.datastoreCapabilities.vmfsExtentExpansionSupportedhost_tmp['config']['datastorePrincipal'] = config.datastorePrincipalhost_tmp['config']['dateTimeInfo'] = {}host_tmp['config']['dateTimeInfo']['ntpConfig'] = {}configFile_list = []for configFile in config.dateTimeInfo.ntpConfig.configFile:configFile_list.append(configFile)host_tmp['config']['dateTimeInfo']['ntpConfig']['configFile'] = configFile_listserver_list = []for server in config.dateTimeInfo.ntpConfig.server:server_list.append(server)host_tmp['config']['dateTimeInfo']['ntpConfig']['server'] = server_listhost_tmp['config']['dateTimeInfo']['timeZone'] = {}host_tmp['config']['dateTimeInfo']['timeZone']['description'] = config.dateTimeInfo.timeZone.descriptionhost_tmp['config']['dateTimeInfo']['timeZone']['gmtOffset'] = config.dateTimeInfo.timeZone.gmtOffsethost_tmp['config']['dateTimeInfo']['timeZone']['key'] = config.dateTimeInfo.timeZone.keyhost_tmp['config']['dateTimeInfo']['timeZone']['name'] = config.dateTimeInfo.timeZone.namehost_tmp['config']['deploymentInfo'] = {}host_tmp['config']['deploymentInfo']['bootedFromStatelessCache'] = config.deploymentInfo.bootedFromStatelessCachehost_tmp['config']['featureVersion'] = []# host_tmp['config']['fileSystemVolume']['mountInfo'] = config.fileSystemVolume.mountInfohost_tmp['config']['fileSystemVolume'] = {}volumeTypeList_list = []for volumeTypeList in config.fileSystemVolume.volumeTypeList:volumeTypeList_list.append(volumeTypeList)host_tmp['config']['fileSystemVolume']['volumeTypeList'] = volumeTypeList_listhost_tmp['config']['firewall'] = {}host_tmp['config']['flags'] = {}host_tmp['config']['flags']['backgroundSnapshotsEnabled'] = config.flags.backgroundSnapshotsEnabledhost_tmp['config']['hostConfigCheckSum'] = config.hostConfigCheckSumhost_tmp['config']['hyperThread'] = {}host_tmp['config']['hyperThread']['active'] = config.hyperThread.activehost_tmp['config']['hyperThread']['available'] = config.hyperThread.availablehost_tmp['config']['hyperThread']['config'] = config.hyperThread.configioFilterInfo_list = []for ioFilterInfo in config.ioFilterInfo:ioFilterInfo_tmp = {}ioFilterInfo_tmp['id'] = ioFilterInfo.idioFilterInfo_tmp['vendor'] = ioFilterInfo.vendorioFilterInfo_tmp['version'] = ioFilterInfo.versionioFilterInfo_tmp['type'] = ioFilterInfo.typeioFilterInfo_tmp['summary'] = ioFilterInfo.summaryioFilterInfo_tmp['releaseDate'] = ioFilterInfo.releaseDateioFilterInfo_tmp['available'] = ioFilterInfo.availableioFilterInfo_list.append(ioFilterInfo_tmp)host_tmp['config']['ioFilterInfo'] = ioFilterInfo_listhost_tmp['config']['lockdownMode'] = config.lockdownModehost_tmp['config']['network'] = {}host_tmp['config']['network']['atBootIpV6Enabled'] = config.network.atBootIpV6Enabledhost_tmp['config']['network']['consoleIpRouteConfig'] = config.network.consoleIpRouteConfighost_tmp['config']['network']['consoleVnic'] = []host_tmp['config']['network']['dhcp'] = []host_tmp['config']['network']['dnsConfig'] = {}address_list = []for address in config.network.dnsConfig.address:address_list.append(address)host_tmp['config']['network']['dnsConfig']['address'] = address_listhost_tmp['config']['network']['dnsConfig']['dhcp'] = config.network.dnsConfig.dhcphost_tmp['config']['network']['dnsConfig']['domainName'] = config.network.dnsConfig.domainNamehost_tmp['config']['network']['dnsConfig']['hostName'] = config.network.dnsConfig.hostNamehost_tmp['config']['network']['dnsConfig']['ipv6VirtualNicDevice'] = config.network.dnsConfig.ipv6VirtualNicDevicesearchDomain_list = []for searchDomain in config.network.dnsConfig.searchDomain:searchDomain_list.append(searchDomain)host_tmp['config']['network']['dnsConfig']['searchDomain'] = searchDomain_listhost_tmp['config']['network']['dnsConfig']['virtualNicDevice'] = config.network.dnsConfig.virtualNicDevicehost_tmp['config']['network']['ipRouteConfig'] = {}host_tmp['config']['network']['ipRouteConfig']['defaultGateway'] = config.network.ipRouteConfig.defaultGatewayhost_tmp['config']['network']['ipRouteConfig']['gatewayDevice'] = config.network.ipRouteConfig.gatewayDevicehost_tmp['config']['network']['ipRouteConfig']['ipV6GatewayDevice'] = config.network.ipRouteConfig.ipV6GatewayDevicehost_tmp['config']['network']['ipRouteConfig']['ipV6DefaultGateway'] = config.network.ipRouteConfig.ipV6DefaultGatewayhost_tmp['config']['network']['ipV6Enabled'] = config.network.ipV6Enabledhost_tmp['config']['network']['nat'] = []pnic_list = []for pnic in config.network.pnic:pnic_tmp = detail_host_pnic(pnic=pnic)pnic_list.append(pnic_tmp)host_tmp['config']['network']['pnic'] = pnic_listhost_tmp['config']['network']['routeTableInfo'] = {}ipRoute_list = []for ipRoute in config.network.routeTableInfo.ipRoute:ipRoute_tmp = {}ipRoute_tmp['network'] = ipRoute.networkipRoute_tmp['prefixLength'] = ipRoute.prefixLengthipRoute_tmp['gateway'] = ipRoute.gatewayipRoute_tmp['deviceName'] = ipRoute.deviceNameipRoute_list.append(ipRoute_tmp)host_tmp['config']['network']['routeTableInfo']['ipRoute'] = ipRoute_listipv6Route_list = []for ipv6Route in config.network.routeTableInfo.ipv6Route:ipv6Route_tmp = {}ipv6Route_tmp['network'] = ipv6Route.networkipv6Route_tmp['prefixLength'] = ipv6Route.prefixLengthipv6Route_tmp['gateway'] = ipv6Route.gatewayipv6Route_tmp['deviceName'] = ipv6Route.deviceNameipv6Route_list.append(ipv6Route_tmp)host_tmp['config']['network']['routeTableInfo']['ipv6Route'] = ipv6Route_listvnic_list = []for vnic in config.network.vnic:vnic_tmp = detail_host_vnic(vnic=vnic)vnic_list.append(vnic_tmp)host_tmp['config']['network']['vnic'] = vnic_listvswitch_list = []for vswitch in config.network.vswitch:vswitch_tmp = detail_vswitch(vswitch=vswitch)vswitch_list.append(vswitch_tmp)host_tmp['config']['network']['vswitch'] = vswitch_listhost_tmp['config']['offloadCapabilities'] = {}host_tmp['config']['offloadCapabilities']['csumOffload'] = config.offloadCapabilities.csumOffloadhost_tmp['config']['offloadCapabilities']['tcpSegmentation'] = config.offloadCapabilities.tcpSegmentationhost_tmp['config']['offloadCapabilities']['zeroCopyXmit'] = config.offloadCapabilities.zeroCopyXmitpciPassthruInfo_list = []for pciPassthruInfo in config.pciPassthruInfo:pciPassthruInfo_tmp = {}pciPassthruInfo_tmp['id'] = pciPassthruInfo.idpciPassthruInfo_tmp['dependentDevice'] = pciPassthruInfo.dependentDevicepciPassthruInfo_tmp['passthruEnabled'] = pciPassthruInfo.passthruEnabledpciPassthruInfo_tmp['passthruCapable'] = pciPassthruInfo.passthruCapablepciPassthruInfo_tmp['passthruActive'] = pciPassthruInfo.passthruActivepciPassthruInfo_list.append(pciPassthruInfo_tmp)host_tmp['config']['offloadCapabilities']['pciPassthruInfo'] = pciPassthruInfo_listhost_tmp['config']['powerSystemCapability'] = {}availablePolicy_list = []for availablePolicy in config.powerSystemCapability.availablePolicy:availablePolicy_tmp = {}availablePolicy_tmp['description'] = availablePolicy.descriptionavailablePolicy_tmp['key'] = availablePolicy.keyavailablePolicy_tmp['name'] = availablePolicy.nameavailablePolicy_tmp['shortName'] = availablePolicy.shortNameavailablePolicy_list.append(availablePolicy_tmp)host_tmp['config']['powerSystemCapability']['availablePolicy'] = availablePolicy_listhost_tmp['config']['powerSystemInfo'] = {}host_tmp['config']['powerSystemInfo']['currentPolicy'] = {}host_tmp['config']['powerSystemInfo']['currentPolicy']['description'] = config.powerSystemInfo.currentPolicy.descriptionhost_tmp['config']['powerSystemInfo']['currentPolicy']['key'] = config.powerSystemInfo.currentPolicy.keyhost_tmp['config']['powerSystemInfo']['currentPolicy']['name'] = config.powerSystemInfo.currentPolicy.namehost_tmp['config']['powerSystemInfo']['currentPolicy']['shortName'] = config.powerSystemInfo.currentPolicy.shortNamehost_tmp['config']['product'] = {}host_tmp['config']['product']['apiType'] = config.product.apiTypehost_tmp['config']['product']['apiVersion'] = config.product.apiVersionhost_tmp['config']['product']['build'] = config.product.buildhost_tmp['config']['product']['fullName'] = config.product.fullNamehost_tmp['config']['product']['instanceUuid'] = config.product.instanceUuidhost_tmp['config']['product']['licenseProductName'] = config.product.licenseProductNamehost_tmp['config']['product']['licenseProductVersion'] = config.product.licenseProductVersionhost_tmp['config']['product']['localeBuild'] = config.product.localeBuildhost_tmp['config']['product']['localeVersion'] = config.product.localeVersionhost_tmp['config']['product']['name'] = config.product.namehost_tmp['config']['product']['osType'] = config.product.osTypehost_tmp['config']['product']['productLineId'] = config.product.productLineIdhost_tmp['config']['product']['vendor'] = config.product.vendorhost_tmp['config']['product']['version'] = config.product.versionhost_tmp['config']['scriptCheckSum'] = config.scriptCheckSumhost_tmp['config']['service'] = {}service_list = []for service in config.service.service:service_tmp = {}service_tmp['key'] = service.keyservice_tmp['label'] = service.labelservice_tmp['policy'] = service.policyservice_tmp['required'] = service.requiredruleset_list = []for ruleset in service.ruleset:ruleset_list.append(ruleset)service_tmp['ruleset'] = ruleset_listservice_tmp['running'] = service.runningservice_tmp['sourcePackage'] = {}if service.sourcePackage is not None:service_tmp['sourcePackage']['description'] = service.sourcePackage.descriptionservice_tmp['sourcePackage']['sourcePackageName'] = service.sourcePackage.sourcePackageNameservice_tmp['uninstallable'] = service.uninstallableservice_list.append(service_tmp)host_tmp['config']['service']['service'] = service_listhost_tmp['config']['sharedGpuCapabilities'] = []sharedPassthruGpuTypes_list = []for sharedPassthruGpuTypes in config.sharedPassthruGpuTypes:sharedPassthruGpuTypes_list.append(sharedPassthruGpuTypes)host_tmp['config']['sharedPassthruGpuTypes'] = sharedPassthruGpuTypes_listhost_tmp['config']['sriovDevicePool'] = []host_tmp['config']['sslThumbprintData'] = []host_tmp['config']['storageDevice'] = {}hostBusAdapter_list = []for hostBusAdapter in config.storageDevice.hostBusAdapter:hostBusAdapter_tmp = {}hostBusAdapter_tmp['bus'] = hostBusAdapter.bushostBusAdapter_tmp['device'] = hostBusAdapter.devicehostBusAdapter_tmp['driver'] = hostBusAdapter.driverhostBusAdapter_tmp['key'] = hostBusAdapter.keyhostBusAdapter_tmp['model'] = hostBusAdapter.modelhostBusAdapter_tmp['pci'] = hostBusAdapter.pcihostBusAdapter_tmp['status'] = hostBusAdapter.statushostBusAdapter_list.append(hostBusAdapter_tmp)host_tmp['config']['storageDevice']['hostBusAdapter'] = hostBusAdapter_listhost_tmp['config']['storageDevice']['multipathInfo'] = {}host_tmp['config']['storageDevice']['plugStoreTopology'] = {}host_tmp['config']['storageDevice']['scsiLun'] = {}host_tmp['config']['storageDevice']['scsiTopology'] = {}host_tmp['config']['storageDevice']['softwareInternetScsiEnabled'] = config.storageDevice.softwareInternetScsiEnabledsystemFile_list = []for systemFile in config.systemFile:systemFile_list.append(systemFile)host_tmp['config']['systemFile'] = systemFile_listhost_tmp['config']['systemResources'] = {}child_list = []for child in config.systemResources.child:child_dict = {}child_list.append(child_dict)host_tmp['config']['systemResources']['child'] = child_listhost_tmp['config']['systemResources']['config'] = {}host_tmp['config']['systemResources']['config']['changeVersion'] = config.systemResources.config.changeVersionhost_tmp['config']['systemResources']['config']['cpuAllocation'] = {}host_tmp['config']['systemResources']['config']['cpuAllocation']['expandableReservation'] = config.systemResources.config.cpuAllocation.expandableReservationhost_tmp['config']['systemResources']['config']['cpuAllocation']['limit'] = config.systemResources.config.cpuAllocation.limithost_tmp['config']['systemResources']['config']['cpuAllocation']['overheadLimit'] = config.systemResources.config.cpuAllocation.overheadLimithost_tmp['config']['systemResources']['config']['cpuAllocation']['reservation'] = config.systemResources.config.cpuAllocation.reservationhost_tmp['config']['systemResources']['config']['cpuAllocation']['shares'] = {}host_tmp['config']['systemResources']['config']['cpuAllocation']['shares']['level'] = config.systemResources.config.cpuAllocation.shares.levelhost_tmp['config']['systemResources']['config']['cpuAllocation']['shares']['shares'] = config.systemResources.config.cpuAllocation.shares.shareshost_tmp['config']['systemResources']['config']['entity'] = config.systemResources.config.entityhost_tmp['config']['systemResources']['config']['lastModified'] = config.systemResources.config.lastModifiedhost_tmp['config']['systemResources']['config']['memoryAllocation'] = {}host_tmp['config']['systemResources']['config']['memoryAllocation']['expandableReservation'] = config.systemResources.config.memoryAllocation.expandableReservationhost_tmp['config']['systemResources']['config']['memoryAllocation']['limit'] = config.systemResources.config.memoryAllocation.limithost_tmp['config']['systemResources']['config']['memoryAllocation']['overheadLimit'] = config.systemResources.config.memoryAllocation.overheadLimithost_tmp['config']['systemResources']['config']['memoryAllocation']['reservation'] = config.systemResources.config.memoryAllocation.reservationhost_tmp['config']['systemResources']['config']['memoryAllocation']['shares'] = {}host_tmp['config']['systemResources']['config']['memoryAllocation']['shares']['level'] = config.systemResources.config.memoryAllocation.shares.levelhost_tmp['config']['systemResources']['config']['memoryAllocation']['shares']['shares'] = config.systemResources.config.memoryAllocation.shares.shareshost_tmp['config']['systemResources']['key'] = config.systemResources.keyhost_tmp['config']['systemSwapConfiguration'] = {}option_list = []for option in config.systemSwapConfiguration.option:option_dict = {}option_dict['key'] = option.keyoption_list.append(option_dict)host_tmp['config']['systemSwapConfiguration']['option'] = option_listhost_tmp['config']['vFlashConfigInfo'] = {}host_tmp['config']['virtualMachineReservation'] = config.virtualMachineReservationhost_tmp['config']['virtualNicManagerInfo'] = {}netConfig_list = []for netConfig in config.virtualNicManagerInfo.netConfig:netConfig_tmp = {}netConfig_tmp['nicType'] = netConfig.nicTypenetConfig_tmp['multiSelectAllowed'] = netConfig.multiSelectAllowedcandidateVnic_list = []for candidateVnic in netConfig.candidateVnic:candidateVnic_tmp = {}candidateVnic_tmp['device'] = candidateVnic.devicecandidateVnic_tmp['key'] = candidateVnic.keycandidateVnic_tmp['portgroup'] = candidateVnic.portgroupcandidateVnic_tmp['spec'] = {}candidateVnic_tmp['spec']['ip'] = {}candidateVnic_tmp['spec']['ip']['dhcp'] = candidateVnic.spec.ip.dhcpcandidateVnic_tmp['spec']['ip']['ipAddress'] = candidateVnic.spec.ip.ipAddresscandidateVnic_tmp['spec']['ip']['subnetMask'] = candidateVnic.spec.ip.subnetMaskcandidateVnic_tmp['spec']['ip']['ipV6Config'] = {}ipV6Address_list = []for ipV6Address in candidateVnic.spec.ip.ipV6Config.ipV6Address:ipV6Address_tmp = {}ipV6Address_tmp['ipAddress'] = ipV6Address.ipAddressipV6Address_tmp['prefixLength'] = ipV6Address.prefixLengthipV6Address_tmp['origin'] = ipV6Address.originipV6Address_tmp['dadState'] = ipV6Address.dadStateipV6Address_tmp['lifetime'] = ipV6Address.lifetimeif ipV6Address.lifetime is not None:ipV6Address_tmp['lifetime'] = ipV6Address.lifetime.strftime('%Y-%m-%d %H:%M:%S')ipV6Address_tmp['operation'] = ipV6Address.operationipV6Address_list.append(ipV6Address_tmp)candidateVnic_tmp['spec']['ip']['ipV6Config']['ipV6Address'] = ipV6Address_listcandidateVnic_tmp['spec']['ip']['dhcp'] = candidateVnic.spec.ip.dhcpcandidateVnic_tmp['device'] = candidateVnic.devicecandidateVnic_list.append(candidateVnic_tmp)netConfig_tmp['candidateVnic'] = candidateVnic_listnetConfig_list.append(netConfig_tmp)host_tmp['config']['virtualNicManagerInfo']['netConfig'] = netConfig_listhost_tmp['config']['vmotion'] = {}host_tmp['config']['vmotion']['ipConfig'] = config.vmotion.ipConfighost_tmp['config']['vmotion']['netConfig'] = {}candidateVnic_list = []for candidateVnic in config.vmotion.netConfig.candidateVnic:candidateVnic_tmp = {}candidateVnic_tmp['device'] = candidateVnic.devicecandidateVnic_tmp['key'] = candidateVnic.keycandidateVnic_tmp['port'] = candidateVnic.portcandidateVnic_tmp['portgroup'] = candidateVnic.portgroupcandidateVnic_tmp['spec'] = {}candidateVnic_tmp['spec']['distributedVirtualPort'] = candidateVnic.spec.distributedVirtualPortif candidateVnic.spec.distributedVirtualPort is not None:candidateVnic_tmp['spec']['distributedVirtualPort'] = {}candidateVnic_tmp['spec']['distributedVirtualPort']['switchUuid'] = candidateVnic.spec.distributedVirtualPort.switchUuidcandidateVnic_tmp['spec']['distributedVirtualPort']['portgroupKey'] = candidateVnic.spec.distributedVirtualPort.portgroupKeycandidateVnic_tmp['spec']['distributedVirtualPort']['portKey'] = candidateVnic.spec.distributedVirtualPort.portKeycandidateVnic_tmp['spec']['distributedVirtualPort']['connectionCookie'] = candidateVnic.spec.distributedVirtualPort.connectionCookiecandidateVnic_tmp['spec']['externalId'] = candidateVnic.spec.externalIdcandidateVnic_tmp['spec']['ip'] = {}candidateVnic_tmp['spec']['ip']['dhcp'] = candidateVnic.spec.ip.dhcpcandidateVnic_tmp['spec']['ip']['ipAddress'] = candidateVnic.spec.ip.ipAddresscandidateVnic_tmp['spec']['ip']['ipV6Config'] = {}candidateVnic_tmp['spec']['ip']['ipV6Config']['autoConfigurationEnabled'] = candidateVnic.spec.ip.ipV6Config.autoConfigurationEnabledcandidateVnic_tmp['spec']['ip']['ipV6Config']['dhcpV6Enabled'] = candidateVnic.spec.ip.ipV6Config.dhcpV6EnabledipV6Address_list = []for ipV6Address in candidateVnic.spec.ip.ipV6Config.ipV6Address:ipV6Address_tmp = {}ipV6Address_tmp['ipAddress'] = ipV6Address.ipAddressipV6Address_tmp['prefixLength'] = ipV6Address.prefixLengthipV6Address_tmp['origin'] = ipV6Address.originipV6Address_tmp['dadState'] = ipV6Address.dadStateipV6Address_tmp['lifetime'] = ipV6Address.lifetimeif ipV6Address.lifetime is not None:ipV6Address_tmp['lifetime'] = ipV6Address.lifetime.strftime('%Y-%m-%d %H:%M:%S')ipV6Address_tmp['operation'] = ipV6Address.operationipV6Address_list.append(ipV6Address_tmp)candidateVnic_tmp['spec']['ip']['ipV6Config']['ipV6Address'] = ipV6Address_listcandidateVnic_tmp['spec']['ip']['subnetMask'] = candidateVnic.spec.ip.subnetMaskcandidateVnic_tmp['spec']['ipRouteSpec'] = {}candidateVnic_tmp['spec']['ipRouteSpec']['ipRouteConfig'] = {}if candidateVnic.spec.ipRouteSpec is not None:candidateVnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['defaultGateway'] = candidateVnic.spec.ipRouteSpec.ipRouteConfig.defaultGatewaycandidateVnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['gatewayDevice'] = candidateVnic.spec.ipRouteSpec.ipRouteConfig.gatewayDevicecandidateVnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['ipV6DefaultGateway'] = candidateVnic.spec.ipRouteSpec.ipRouteConfig.ipV6DefaultGatewaycandidateVnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['ipV6GatewayDevice'] = candidateVnic.spec.ipRouteSpec.ipRouteConfig.ipV6GatewayDevicecandidateVnic_tmp['spec']['mac'] = candidateVnic.spec.maccandidateVnic_tmp['spec']['mtu'] = candidateVnic.spec.mtucandidateVnic_tmp['spec']['netStackInstanceKey'] = candidateVnic.spec.netStackInstanceKeycandidateVnic_tmp['spec']['opaqueNetwork'] = candidateVnic.spec.opaqueNetworkcandidateVnic_tmp['spec']['pinnedPnic'] = candidateVnic.spec.pinnedPniccandidateVnic_tmp['spec']['portgroup'] = candidateVnic.spec.portgroupcandidateVnic_tmp['spec']['tsoEnabled'] = candidateVnic.spec.tsoEnabledcandidateVnic_list.append(candidateVnic_tmp)host_tmp['config']['vmotion']['netConfig']['candidateVnic'] = candidateVnic_listhost_tmp['config']['vmotion']['netConfig']['selectedVnic'] = config.vmotion.netConfig.selectedVnichost_tmp['config']['vsanHostConfig'] = {}host_tmp['config']['vsanHostConfig']['clusterInfo'] = {}host_tmp['config']['vsanHostConfig']['clusterInfo']['nodeUuid'] = config.vsanHostConfig.clusterInfo.nodeUuidhost_tmp['config']['vsanHostConfig']['clusterInfo']['uuid'] = config.vsanHostConfig.clusterInfo.uuidhost_tmp['config']['vsanHostConfig']['enabled'] = config.vsanHostConfig.enabledhost_tmp['config']['vsanHostConfig']['faultDomainInfo'] = {}host_tmp['config']['vsanHostConfig']['faultDomainInfo']['name'] = config.vsanHostConfig.faultDomainInfo.namehost_tmp['config']['vsanHostConfig']['hostSystem'] = {}host_tmp['config']['vsanHostConfig']['networkInfo'] = {}host_tmp['config']['vsanHostConfig']['networkInfo']['port'] = []host_tmp['config']['vsanHostConfig']['storageInfo'] = {}host_tmp['config']['vsanHostConfig']['storageInfo']['autoClaimStorage'] = config.vsanHostConfig.storageInfo.autoClaimStoragehost_tmp['config']['vsanHostConfig']['storageInfo']['checksumEnabled'] = config.vsanHostConfig.storageInfo.checksumEnabledhost_tmp['config']['vsanHostConfig']['storageInfo']['diskMapInfo'] = []host_tmp['config']['wakeOnLanCapable'] = config.wakeOnLanCapablereturn host_tmp

detail_vswitch

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/26 10:21
# software: PyCharmdef detail_vswitch(vswitch=None):vswitch_tmp = {}vswitch_tmp['key'] = vswitch.keyvswitch_tmp['mtu'] = vswitch.mtuvswitch_tmp['name'] = vswitch.namevswitch_tmp['numPorts'] = vswitch.numPortsvswitch_tmp['numPortsAvailable'] = vswitch.numPortsAvailablepnic_list = []for pnic in vswitch.pnic:pnic_list.append(pnic)vswitch_tmp['pnic'] = pnic_listportgroup_list = []for portgroup in vswitch.portgroup:portgroup_list.append(portgroup)vswitch_tmp['portgroup'] = portgroup_listvswitch_tmp['spec'] = {}vswitch_tmp['spec']['bridge'] = {}if vswitch.spec.bridge is not None:vswitch_tmp['spec']['bridge']['beacon'] = {}vswitch_tmp['spec']['bridge']['beacon']['interval'] = vswitch.spec.bridge.beacon.intervalvswitch_tmp['spec']['bridge']['linkDiscoveryProtocolConfig'] = {}vswitch_tmp['spec']['bridge']['linkDiscoveryProtocolConfig']['operation'] = vswitch.spec.bridge.linkDiscoveryProtocolConfig.operationvswitch_tmp['spec']['bridge']['linkDiscoveryProtocolConfig']['protocol'] = vswitch.spec.bridge.linkDiscoveryProtocolConfig.protocolvswitch_tmp['spec']['mtu'] = vswitch.spec.mtuvswitch_tmp['spec']['numPorts'] = vswitch.spec.numPortsvswitch_tmp['spec']['policy'] = {}vswitch_tmp['spec']['policy']['nicTeaming'] = {}vswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria'] = {}vswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['checkBeacon'] = vswitch.spec.policy.nicTeaming.failureCriteria.checkBeaconvswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['checkDuplex'] = vswitch.spec.policy.nicTeaming.failureCriteria.checkDuplexvswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['checkErrorPercent'] = vswitch.spec.policy.nicTeaming.failureCriteria.checkErrorPercentvswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['checkSpeed'] = vswitch.spec.policy.nicTeaming.failureCriteria.checkSpeedvswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['fullDuplex'] = vswitch.spec.policy.nicTeaming.failureCriteria.fullDuplexvswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['percentage'] = vswitch.spec.policy.nicTeaming.failureCriteria.percentagevswitch_tmp['spec']['policy']['nicTeaming']['failureCriteria']['speed'] = vswitch.spec.policy.nicTeaming.failureCriteria.speedvswitch_tmp['spec']['policy']['nicTeaming']['nicOrder'] = {}activeNic_list = []for activeNic in vswitch.spec.policy.nicTeaming.nicOrder.activeNic:activeNic_list.append(activeNic)vswitch_tmp['spec']['policy']['nicTeaming']['nicOrder']['activeNic'] = activeNic_liststandbyNic_list = []for standbyNic in vswitch.spec.policy.nicTeaming.nicOrder.standbyNic:standbyNic_list.append(standbyNic)vswitch_tmp['spec']['policy']['nicTeaming']['nicOrder']['standbyNic'] = standbyNic_listvswitch_tmp['spec']['policy']['nicTeaming']['notifySwitches'] = vswitch.spec.policy.nicTeaming.notifySwitchesvswitch_tmp['spec']['policy']['nicTeaming']['policy'] = vswitch.spec.policy.nicTeaming.policyvswitch_tmp['spec']['policy']['nicTeaming']['reversePolicy'] = vswitch.spec.policy.nicTeaming.reversePolicyvswitch_tmp['spec']['policy']['nicTeaming']['rollingOrder'] = vswitch.spec.policy.nicTeaming.rollingOrdervswitch_tmp['spec']['policy']['offloadPolicy'] = {}vswitch_tmp['spec']['policy']['offloadPolicy']['csumOffload'] = vswitch.spec.policy.offloadPolicy.csumOffloadvswitch_tmp['spec']['policy']['offloadPolicy']['tcpSegmentation'] = vswitch.spec.policy.offloadPolicy.tcpSegmentationvswitch_tmp['spec']['policy']['offloadPolicy']['zeroCopyXmit'] = vswitch.spec.policy.offloadPolicy.zeroCopyXmitvswitch_tmp['spec']['policy']['security'] = {}vswitch_tmp['spec']['policy']['security']['allowPromiscuous'] = vswitch.spec.policy.security.allowPromiscuousvswitch_tmp['spec']['policy']['security']['forgedTransmits'] = vswitch.spec.policy.security.forgedTransmitsvswitch_tmp['spec']['policy']['security']['macChanges'] = vswitch.spec.policy.security.macChangesvswitch_tmp['spec']['policy']['shapingPolicy'] = {}vswitch_tmp['spec']['policy']['shapingPolicy']['averageBandwidth'] = vswitch.spec.policy.shapingPolicy.averageBandwidthvswitch_tmp['spec']['policy']['shapingPolicy']['burstSize'] = vswitch.spec.policy.shapingPolicy.burstSizevswitch_tmp['spec']['policy']['shapingPolicy']['enabled'] = vswitch.spec.policy.shapingPolicy.enabledvswitch_tmp['spec']['policy']['shapingPolicy']['peakBandwidth'] = vswitch.spec.policy.shapingPolicy.peakBandwidthreturn vswitch_tmp

detail_host_pnic

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/26 10:28
# software: PyCharmdef detail_host_pnic(pnic=None):pnic_dict = {}pnic_dict['autoNegotiateSupported'] = pnic.autoNegotiateSupportedpnic_dict['device'] = pnic.devicepnic_dict['driver'] = pnic.driverpnic_dict['enhancedNetworkingStackSupported'] = pnic.enhancedNetworkingStackSupportedpnic_dict['fcoeConfiguration'] = pnic.fcoeConfigurationpnic_dict['linkSpeed'] = {}if pnic.linkSpeed is not None:pnic_dict['linkSpeed']['duplex'] = pnic.linkSpeed.duplexpnic_dict['linkSpeed']['speedMb'] = pnic.linkSpeed.speedMbpnic_dict['key'] = pnic.keypnic_dict['mac'] = pnic.macpnic_dict['pci'] = pnic.pcipnic_dict['resourcePoolSchedulerAllowed'] = pnic.resourcePoolSchedulerAllowedpnic_dict['resourcePoolSchedulerDisallowedReason'] = []pnic_dict['spec'] = {}pnic_dict['spec']['enableEnhancedNetworkingStack	'] = pnic.spec.enableEnhancedNetworkingStackpnic_dict['spec']['ip'] = {}pnic_dict['spec']['ip']['dhcp'] = pnic.spec.ip.dhcppnic_dict['spec']['ip']['ipAddress'] = pnic.spec.ip.ipAddressipV6Config_list = []pnic_dict['spec']['ip']['ipV6Config'] = {}if pnic.spec.ip.ipV6Config is not None:for ipV6Config in pnic.spec.ip.ipV6Config:ipV6Config_tmp = {}ipV6Address_list = []for ipV6Address in ipV6Config.ipV6Address:ipV6Address_tmp = {}ipV6Address_tmp['ipAddress'] = ipV6Address.ipAddressipV6Address_tmp['prefixLength'] = ipV6Address.prefixLengthipV6Address_tmp['origin'] = ipV6Address.originipV6Address_tmp['dadState'] = ipV6Address.dadStateipV6Address_tmp['lifetime'] = ipV6Address.lifetime.strftime('%Y-%m-%d %H:%M:%S')ipV6Address_tmp['operation'] = ipV6Address.operationipV6Address_list.append(ipV6Address_tmp)ipV6Config_tmp['ipV6Address'] = ipV6Address_listipV6Config_list.append(ipV6Config_tmp)pnic_dict['spec']['ip']['ipV6Config'] = ipV6Config_listpnic_dict['spec']['ip']['subnetMask'] = pnic.spec.ip.subnetMaskpnic_dict['spec']['linkSpeed'] = {}if pnic.spec.linkSpeed is not None:pnic_dict['spec']['linkSpeed']['speedMb'] = pnic.spec.linkSpeed.speedMbpnic_dict['spec']['linkSpeed']['duplex'] = pnic.spec.linkSpeed.duplexpnic_dict['vmDirectPathGen2Supported'] = pnic.vmDirectPathGen2Supportedpnic_dict['vmDirectPathGen2SupportedMode'] = pnic.vmDirectPathGen2SupportedModepnic_dict['wakeOnLanSupported'] = pnic.wakeOnLanSupportedreturn pnic_dict

detail_host_vnic

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/26 10:38
# software: PyCharmdef detail_host_vnic(vnic=None):vnic_tmp = {}vnic_tmp['device'] = vnic.devicevnic_tmp['key'] = vnic.keyvnic_tmp['port'] = vnic.portvnic_tmp['portgroup'] = vnic.portgroupvnic_tmp['spec'] = {}vnic_tmp['spec']['distributedVirtualPort'] = {}if vnic.spec.distributedVirtualPort is not None:vnic_tmp['spec']['distributedVirtualPort']['switchUuid'] = vnic.spec.distributedVirtualPort.switchUuidvnic_tmp['spec']['distributedVirtualPort']['portgroupKey'] = vnic.spec.distributedVirtualPort.portgroupKeyvnic_tmp['spec']['distributedVirtualPort']['portKey'] = vnic.spec.distributedVirtualPort.portKeyvnic_tmp['spec']['distributedVirtualPort']['connectionCookie'] = vnic.spec.distributedVirtualPort.connectionCookievnic_tmp['spec']['dynamicProperty'] = vnic.spec.dynamicPropertyvnic_tmp['spec']['externalId'] = vnic.spec.externalIdvnic_tmp['spec']['ip'] = {}vnic_tmp['spec']['ip']['dhcp'] = vnic.spec.ip.dhcpvnic_tmp['spec']['ip']['ipAddress'] = vnic.spec.ip.ipAddressvnic_tmp['spec']['ip']['ipV6Config'] = {}vnic_tmp['spec']['ip']['ipV6Config']['autoConfigurationEnabled'] = vnic.spec.ip.ipV6Config.autoConfigurationEnabledvnic_tmp['spec']['ip']['ipV6Config']['dhcpV6Enabled'] = vnic.spec.ip.ipV6Config.dhcpV6Enabledvnic_tmp['spec']['ip']['ipV6Config']['ipV6Address'] = vnic.spec.ip.ipV6Config.ipV6Addressvnic_tmp['spec']['ip']['ipV6Config'] = {}if vnic.spec.ip.ipV6Config is not None:ipV6Address_list = []for ipV6Address in vnic.spec.ip.ipV6Config.ipV6Address:ipV6Address_tmp = {}ipV6Address_tmp['ipAddress'] = ipV6Address.ipAddressipV6Address_tmp['prefixLength'] = ipV6Address.prefixLengthipV6Address_tmp['origin'] = ipV6Address.originipV6Address_tmp['dadState'] = ipV6Address.dadStateif ipV6Address.lifetime is not None:ipV6Address_tmp['lifetime'] = ipV6Address.lifetime.strftime('%Y-%m-%d %H:%M:%S')ipV6Address_tmp['operation'] = ipV6Address.operationipV6Address_list.append(ipV6Address_tmp)vnic_tmp['spec']['ip']['ipV6Config']['ipAddress'] = ipV6Address_listvnic_tmp['spec']['ip']['ipV6Config']['autoConfigurationEnabled'] = vnic.spec.ip.ipV6Config.autoConfigurationEnabledvnic_tmp['spec']['ip']['ipV6Config']['dhcpV6Enabled'] = vnic.spec.ip.ipV6Config.dhcpV6Enabledvnic_tmp['spec']['ip']['subnetMask'] = vnic.spec.ip.subnetMaskvnic_tmp['spec']['ipRouteSpec'] = {}vnic_tmp['spec']['ipRouteSpec']['ipRouteConfig'] = {}if vnic.spec.ipRouteSpec is not None:vnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['defaultGateway'] = vnic.spec.ipRouteSpec.ipRouteConfig.defaultGatewayvnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['gatewayDevice'] = vnic.spec.ipRouteSpec.ipRouteConfig.gatewayDevicevnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['ipV6DefaultGateway'] = vnic.spec.ipRouteSpec.ipRouteConfig.ipV6DefaultGatewayvnic_tmp['spec']['ipRouteSpec']['ipRouteConfig']['ipV6GatewayDevice'] = vnic.spec.ipRouteSpec.ipRouteConfig.ipV6GatewayDevicevnic_tmp['spec']['mac'] = vnic.spec.macvnic_tmp['spec']['mtu'] = vnic.spec.mtuvnic_tmp['spec']['netStackInstanceKey'] = vnic.spec.netStackInstanceKeyvnic_tmp['spec']['opaqueNetwork'] = vnic.spec.opaqueNetworkvnic_tmp['spec']['pinnedPnic'] = vnic.spec.pinnedPnicvnic_tmp['spec']['portgroup'] = vnic.spec.portgroupvnic_tmp['spec']['tsoEnabled'] = vnic.spec.tsoEnabledreturn vnic_tmp

detail_host_hardware

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# author:hanxiaoshun
# datetime:2020/6/26 11:02
# software: PyCharmdef detail_host_hardware(hardware=None):host_tmp = {}host_tmp['hardware'] = {}host_tmp['hardware']['biosInfo'] = {}host_tmp['hardware']['biosInfo']['biosVersion'] = hardware.biosInfo.biosVersionhost_tmp['hardware']['biosInfo']['firmwareMajorRelease'] = hardware.biosInfo.firmwareMajorReleasehost_tmp['hardware']['biosInfo']['firmwareMinorRelease'] = hardware.biosInfo.firmwareMinorReleasehost_tmp['hardware']['biosInfo']['majorRelease'] = hardware.biosInfo.majorReleasehost_tmp['hardware']['biosInfo']['minorRelease'] = hardware.biosInfo.minorReleasehost_tmp['hardware']['biosInfo']['releaseDate'] = hardware.biosInfo.releaseDatehost_tmp['hardware']['biosInfo']['vendor'] = hardware.biosInfo.vendorcpuFeature_list = []for cpuFeature in hardware.cpuFeature:cpuFeature_tmp = {}cpuFeature_tmp['level'] = cpuFeature.levelcpuFeature_tmp['vendor'] = cpuFeature.vendorcpuFeature_tmp['eax'] = cpuFeature.eaxcpuFeature_tmp['ebx'] = cpuFeature.ebxcpuFeature_tmp['ecx'] = cpuFeature.ecxcpuFeature_tmp['edx'] = cpuFeature.edxcpuFeature_list.append(cpuFeature_tmp)host_tmp['hardware']['cpuFeature'] = cpuFeature_listhost_tmp['hardware']['cpuInfo'] = {}host_tmp['hardware']['cpuInfo']['hz'] = hardware.cpuInfo.hzhost_tmp['hardware']['cpuInfo']['numCpuCores'] = hardware.cpuInfo.numCpuCoreshost_tmp['hardware']['cpuInfo']['numCpuPackages'] = hardware.cpuInfo.numCpuPackageshost_tmp['hardware']['cpuInfo']['numCpuThreads'] = hardware.cpuInfo.numCpuThreadscpuPkg_list = []for cpuPkg in hardware.cpuPkg:cpuPkg_tmp = {}cpuPkg_tmp['index'] = cpuPkg.indexcpuPkg_tmp['vendor'] = cpuPkg.vendorcpuPkg_tmp['hz'] = cpuPkg.hzcpuPkg_tmp['busHz'] = cpuPkg.busHzcpuPkg_tmp['description'] = cpuPkg.descriptionthreadId_list = []for threadId in cpuPkg.threadId:threadId_list.append(threadId)cpuPkg_tmp['threadId'] = threadId_listcpuFeature_list = []for cpuFeature in cpuPkg.cpuFeature:cpuFeature_tmp = {}cpuFeature_tmp['level'] = cpuFeature.levelcpuFeature_tmp['vendor'] = cpuFeature.levelcpuFeature_tmp['eax'] = cpuFeature.eaxcpuFeature_tmp['ebx'] = cpuFeature.ebxcpuFeature_tmp['ecx'] = cpuFeature.ecxcpuFeature_tmp['edx'] = cpuFeature.edxcpuFeature_list.append(cpuFeature_tmp)cpuPkg_tmp['cpuFeature'] = cpuFeature_listcpuPkg_tmp['index'] = cpuPkg.indexcpuPkg_tmp['index'] = cpuPkg.indexcpuPkg_list.append(cpuPkg_tmp)host_tmp['hardware']['cpuPkg'] = cpuPkg_listhost_tmp['hardware']['cpuPowerManagementInfo'] = {}host_tmp['hardware']['cpuPowerManagementInfo']['currentPolicy'] = hardware.cpuPowerManagementInfo.currentPolicyhost_tmp['hardware']['cpuPowerManagementInfo']['currentPolicy'] = hardware.cpuPowerManagementInfo.currentPolicyhost_tmp['hardware']['memorySize'] = hardware.memorySizehost_tmp['hardware']['numaInfo'] = {}host_tmp['hardware']['numaInfo']['numNodes'] = hardware.numaInfo.numNodesnumaNode_list = []for numaNode in hardware.numaInfo.numaNode:numaNode_tmp = {}numaNode_tmp['typeId'] = numaNode.typeIdcpuID_list = []for cpuID in numaNode.cpuID:cpuID_list.append(cpuID)numaNode_tmp['cpuID'] = cpuID_listnumaNode_tmp['memoryRangeBegin'] = numaNode.memoryRangeBeginnumaNode_tmp['memoryRangeLength'] = numaNode.memoryRangeLengthpciId_list = []for pciId in numaNode.pciId:pciId_list.append(pciId)numaNode_tmp['pciId'] = pciId_listnumaNode_list.append(numaNode_tmp)host_tmp['hardware']['numaInfo']['numaNode'] = numaNode_listhost_tmp['hardware']['numaInfo']['type'] = hardware.numaInfo.typepciDevice_list = []for pciDevice in hardware.pciDevice:pciDevice_tmp = {}pciDevice_tmp['id'] = pciDevice.idpciDevice_tmp['classId'] = pciDevice.classIdpciDevice_tmp['bus'] = pciDevice.buspciDevice_tmp['slot'] = pciDevice.slotpciDevice_tmp['function'] = pciDevice.functionpciDevice_tmp['vendorId'] = pciDevice.vendorIdpciDevice_tmp['subVendorId'] = pciDevice.subVendorIdpciDevice_tmp['vendorName'] = pciDevice.vendorNamepciDevice_tmp['deviceId'] = pciDevice.deviceIdpciDevice_tmp['subDeviceId'] = pciDevice.subDeviceIdpciDevice_tmp['parentBridge'] = pciDevice.parentBridgepciDevice_tmp['deviceName'] = pciDevice.deviceNamepciDevice_list.append(pciDevice_tmp)host_tmp['hardware']['pciDevice'] = pciDevice_listhost_tmp['hardware']['persistentMemoryInfo'] = hardware.persistentMemoryInfohost_tmp['hardware']['reliableMemoryInfo'] = hardware.reliableMemoryInfohost_tmp['hardware']['smcPresent'] = hardware.smcPresenthost_tmp['hardware']['systemInfo'] = {}host_tmp['hardware']['systemInfo']['model'] = hardware.systemInfo.modelhost_tmp['hardware']['systemInfo']['otherIdentifyingInfo'] = hardware.systemInfo.otherIdentifyingInfohost_tmp['hardware']['systemInfo']['serialNumber'] = hardware.systemInfo.serialNumberhost_tmp['hardware']['systemInfo']['uuid'] = hardware.systemInfo.uuidhost_tmp['hardware']['systemInfo']['vendor'] = hardware.systemInfo.vendorreturn host_tmp

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 尤雨溪在Vue3.0直播中聊到了什么

    本文转载自https://juejin.im/post/5e9f6b3251882573a855cd521.全新文档RFCsVue.js 3.0 Beta发布后的工作重点是保证稳定性和推进各类库集成 所有的进度和文档都将在全新RFCs文档可以看到。 2.六大亮点-Performance:性能更比Vue 2.0强。 -Tree shaking support:可以将无用模块…...

    2024/4/16 20:45:18
  2. 真Unity3d_分享一个通用事件监听EventTrigger以及拷贝代码去除空行问题

    基于Unity3d的事件系统和C#的委托特性,提供一下通用事件监听代码,挺真通用的说,反正用过都说好lua和C#都能通用,长期在项目中使用,无任何暗病而网上复制粘贴代码,很容易有空行,(或者前面行号)代码using System.Collections;using System.Collections.Generic;using Un…...

    2024/4/16 20:45:17
  3. 众泰汽车难跨的2020

    配图来自Canva 2019年汽车界寒冬,众泰汽车过得艰难;2020年突发疫情,众泰汽车更是难上加难。 众泰汽车发布的2019年年报,揭开了这个庞然大物的千疮百孔。根据财报数据,众泰汽车2019年实现营收为29.86亿元,同比减少79.78%;归属净利润为-111.90亿元,同比下降1498.98%,是借…...

    2024/4/16 17:53:38
  4. MYSQL实战四十五讲总结笔记_03、事务隔离

    前言:整理归纳,个人温习之用,请支持正版极客时间1、何谓事务?*事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL 中,事务支持是在引擎层实现的。MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持…...

    2024/4/17 21:06:47
  5. 【运维心得】运维面试,你应该知道这些(1)

    运维面试题网络须知为什么不能两次握手,必须三次握手?为什么要四次挥手?三次握手有什么缺陷可以被黑客利用?怎么防范拒绝服务攻击?局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正…...

    2024/4/16 17:53:50
  6. Swift 自定义UITableView

    github demo:https://github.com/LINGLemon/LXFSwiftAppUITableView是我们开发过程中比较常用的,用于显示一系列对象,UITableView继承自UIScrollView,UIScrollView可以在任意方向滑动,而UITableView只在垂直方向上滑动。UITableView中的内容是由UITableViewCell负责显示的…...

    2024/4/16 17:53:38
  7. 金融核心业务新挑战在哪?六大行与12家股份行为何都看重华为存储

    【引子】每年618或双11购物节,各大银行的科技部团队都是如临大敌。以双11购物节为例,最近两年大型国有银行在双11“零点秒杀”时间段的并发交易峰值早就突破了上万的TPS(每秒处理事务数),交易高峰期往往持续10-15分钟,这是对承载核心交易任务的存储系统在性能、可靠性、稳…...

    2024/4/17 15:20:41
  8. 货币就是时间与能量

    发表时间:2020年5月4日 信息来源:Craigwright.net许多人错误地认为,只要生产更多的货币或将其重新分配,我们就会瞬间拥有更多的财富。货币生产的形式多种多样:可以是现金,也可以是我们今天更常见的替代工具:负债和债务证券化。例如,向企业发放政府贷款就创造了新的货币…...

    2024/4/16 17:53:50
  9. 离线安装pyinstaller时,报错的解决过程

    报错内容: Command ““c:\program files\python37\python.exe” “c:\program files\python37\lib\site-packages\pip” install --ignore-installed --no-user --prefix C:\Users\yf\AppData\Local\Temp\pip-build-env-l034cdvw\overlay --no-warn-script-location --no-bina…...

    2024/4/16 17:53:26
  10. RFID资产管理解决方案-RFID固定资产管理-新导智能

    RFID资产管理解决方案系统集成了技能含量很高的远间隔无线射频辨认技能、短间隔射频技能及多用户防抵触技能监测技能,标签、定位器、读写器、通讯网关等,选用全新的嵌入式微处理器和嵌入式软件进行规划,体系信号穿透力强,对人体无电磁污染、环境适应性强,可一起定位多个标…...

    2024/4/16 17:55:08
  11. 创新实训(10)-提取式文本摘要之bert聚类

    创新实训(10)-提取式文本摘要之bert聚类 1. 思路 使用bert作为预训练模型,利用bert生成的词向量进行下游任务的处理,在这篇论文中使用的是k-means计算词向量分布的重心作为文本摘要的候选句子。可以看作是聚类的一种形式。 2.代码分析 基于Pytorch的Transformers框架,使用预…...

    2024/4/16 17:55:14
  12. Java内存管理-初始JVM和JVM启动流程(二)

    上一篇分享了什么是程序,以及Java程序运行的三个阶段。也顺便提到了Java中比较重要的一个东西就是JVM(JAVA 虚拟机),那么今天在先了解一下JVM和JVM的启动流程。知识地图:1、什么是虚拟机虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全…...

    2024/4/16 17:54:14
  13. SmartGit初步简单使用

    1、建立本地仓库首先打开SmartGit并登录,然后 仓库->克隆->仓库地址(输入)->下一步->确定这样就建立了本地仓库2、上传代码上传代码前先点击‘拉取’按钮然后选中要提交的内容 点击 ‘提交’按钮 写上备注,最后提交并推送就可以了。3、解决冲突如果和远程代码冲突…...

    2024/4/16 17:55:26
  14. pencv-python 小白笔记(20)

    第二十节:dlib人脸识别与眨眼检测(一)环境的配置(二)人脸关键点定位(三)眨眼检测(四)备注(五)结语 今天介绍dlib工具包的使用,什么是dlib?下面的这篇文章有一些基本的介绍 传送门 (一)环境的配置 首先你需要安装安装 Cmake 程序包,该工具主要是对 dlib 进行编译…...

    2024/4/19 14:22:42
  15. String 类型 equals比较初步理解,以及 safeEquals 比较 两种不同风格的方式

    文章部分引用自 https://mp.weixin.qq.com/s/XlBXwsCzNf_tUkTnuX3bnA先贴一段代码,代码点进equals源码就能看到public boolean equals(Object var1) {if (this == var1) {return true;} else {if (var1 instanceof String) {String var2 = (String)var1;int var3 = this.valu…...

    2024/4/16 17:56:14
  16. 将C#里的枚举Enum转换为int

    将C#里的枚举Enum转换为inthttps://blog.csdn.net/lzdidiv/article/details/71170528将枚举类型转换为int在C#里非常简单,直接(int)强转就行了,可是这样写代码不方便,尤其让我这种懒癌患者难受,我喜欢用扩展方法的方式实现转换(如果不理解扩展方法请自行补课,这里不再介绍…...

    2024/4/25 19:18:19
  17. 中断、异常、系统调用的概念

    系统调用是由应用程序发起的,意思是应用程序主动向操作系统发出服务请求。 异常是由不良的应用程序发起的,意思是非法指令或者其他坏的处理状态,比如内存出错。 中断是由外设发起的,它来自于不同硬件设备的计时器或者网络的中断。...

    2024/4/20 3:37:38
  18. 获取电脑ip地址的代码工具类

    获取ip地址的工具类 import javax.servlet.http.HttpServletRequest;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springfram…...

    2024/4/17 22:15:07
  19. Python之OpenCV的学习(二)

    图像 1.OpenCV读取图像的格式是BGR 2.shape属性 # 返回一个[h,w,c]元组,即height,width,通道数 img_shape = img.shape img_shape1 = img_shape[0] img_shape2 = img_shape[1] img_shape3 = img_shape[2]3.彩色图像与灰度图像 # cv2.IMREAD_COLOR; 彩色图像 # cv2.IMREAD_GRAY…...

    2024/4/27 3:51:42
  20. Web会话管理

    1.会话管理基本原理 1.隐藏域 将表单中的内容在显示页面时隐藏,不显示数据,在JSP 中将input标签type设置为hidden 生成一个隐藏表单域。将会话的唯一标识记录到隐藏域中的value值中,并设定name值。提交给服务器之后,服务器会根据根据会话标识找到会话对象。 缺点:实现比较…...

    2024/4/19 5:00:39

最新文章

  1. python中的进程线程和协程

    目录 进程(Process)多进程代码实例 线程(Thread)多线程存在原因及其缺点多线程代码实例 协程(Coroutine)协程的优点协程代码实例 进程、线程和协程适合的任务性质和环境多进程更适合的场景多线程更适合的场…...

    2024/5/2 13:35:43
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. yolov9直接调用zed相机实现三维测距(python)

    yolov9直接调用zed相机实现三维测距(python) 1. 相关配置2. 相关代码2.1 相机设置2.2 测距模块2.2 实验结果 相关链接 此项目直接调用zed相机实现三维测距,无需标定,相关内容如下: 1. yolov4直接调用zed相机实现三维测…...

    2024/5/2 10:47:23
  4. 游戏引擎架构01__引擎架构图

    根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ​...

    2024/5/1 13:06:15
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57