"""The vSphere property paths the drivers read, per managed object type. Single source of truth for both the drivers and ``tools/harvest.py``: a fixture harvested from a real host contains exactly what the parsers are later fed, no more and no less. Adding a path here is the first step of adding a field to any getter. """ from __future__ import annotations HOST = ( "name", "summary.hardware", "summary.quickStats", "summary.managementServerIp", "hardware.systemInfo", "runtime.inMaintenanceMode", "runtime.connectionState", "runtime.healthSystemRuntime.systemHealthInfo.numericSensorInfo", "config.product", "config.network.pnic", "config.network.vnic", "config.network.portgroup", "config.network.vswitch", "config.network.dnsConfig", "config.autoStart", "configIssue", "configManager.networkSystem", ) VM = ( "name", "config.instanceUuid", "config.template", "config.guestId", "config.guestFullName", "config.annotation", "config.firmware", "config.version", "config.hardware.numCPU", "config.hardware.numCoresPerSocket", "config.hardware.memoryMB", "config.hardware.device", "config.bootOptions.bootOrder", "runtime.powerState", "runtime.host", "summary.quickStats", "guest.net", "guest.ipAddress", "guest.toolsStatus", "guest.toolsRunningStatus", "snapshot", ) DATASTORE = ( "name", "summary", ) DV_PORTGROUP = ( "name", "config.defaultPortConfig", "config.distributedVirtualSwitch", "config.uplink", ) DV_SWITCH = ("name",) #: Managed object type name -> paths, in the order harvest.py dumps them. ALL = { "HostSystem": HOST, "VirtualMachine": VM, "Datastore": DATASTORE, "DistributedVirtualPortgroup": DV_PORTGROUP, "DistributedVirtualSwitch": DV_SWITCH, }