From 81d0e9fe35478dc1135681147365c295d313b668 Mon Sep 17 00:00:00 2001 From: ddraganov Date: Sat, 6 May 2023 01:53:36 +0300 Subject: [PATCH] Initial commit of the pyVmomi stubs for type hinting --- MANIFEST.in | 2 + pyVmomi/eam/__init__.pyi | 210 + pyVmomi/eam/fault/__init__.pyi | 65 + pyVmomi/eam/issue/__init__.pyi | 239 + pyVmomi/eam/issue/cluster/__init__.pyi | 0 pyVmomi/eam/issue/cluster/agent/__init__.pyi | 57 + pyVmomi/eam/issue/integrity/__init__.pyi | 0 .../eam/issue/integrity/agency/__init__.pyi | 13 + pyVmomi/eam/issue/personality/__init__.pyi | 0 .../eam/issue/personality/agency/__init__.pyi | 33 + .../eam/issue/personality/agent/__init__.pyi | 10 + pyVmomi/eam/lccm/__init__.pyi | 241 + pyVmomi/eam/vib/__init__.pyi | 25 + pyVmomi/pbm/__init__.pyi | 105 + pyVmomi/pbm/auth/__init__.pyi | 4 + pyVmomi/pbm/capability/__init__.pyi | 78 + pyVmomi/pbm/capability/provider/__init__.pyi | 80 + pyVmomi/pbm/capability/types/__init__.pyi | 28 + pyVmomi/pbm/compliance/__init__.pyi | 95 + pyVmomi/pbm/fault/__init__.pyi | 71 + pyVmomi/pbm/placement/__init__.pyi | 67 + pyVmomi/pbm/profile/__init__.pyi | 185 + pyVmomi/pbm/profile/provider/__init__.pyi | 19 + pyVmomi/pbm/provider/__init__.pyi | 4 + pyVmomi/pbm/replication/__init__.pyi | 16 + pyVmomi/py.typed | 0 pyVmomi/sms/__init__.pyi | 120 + pyVmomi/sms/fault/__init__.pyi | 134 + pyVmomi/sms/fault/replication/__init__.pyi | 34 + pyVmomi/sms/provider/__init__.pyi | 184 + pyVmomi/sms/storage/__init__.pyi | 279 + pyVmomi/sms/storage/replication/__init__.pyi | 320 + pyVmomi/vim/__init__.pyi | 4710 +++++++++++++ pyVmomi/vim/action/__init__.pyi | 57 + pyVmomi/vim/alarm/__init__.pyi | 252 + pyVmomi/vim/cluster/__init__.pyi | 1034 +++ pyVmomi/vim/dvs/__init__.pyi | 1243 ++++ pyVmomi/vim/encryption/__init__.pyi | 306 + pyVmomi/vim/event/__init__.pyi | 2461 +++++++ pyVmomi/vim/ext/__init__.pyi | 45 + pyVmomi/vim/fault/__init__.pyi | 3497 ++++++++++ pyVmomi/vim/host/__init__.pyi | 6159 +++++++++++++++++ pyVmomi/vim/net/__init__.pyi | 224 + pyVmomi/vim/option/__init__.pyi | 91 + pyVmomi/vim/profile/__init__.pyi | 351 + pyVmomi/vim/profile/cluster/__init__.pyi | 39 + pyVmomi/vim/profile/host/__init__.pyi | 559 ++ pyVmomi/vim/scheduler/__init__.pyi | 166 + pyVmomi/vim/tenant/__init__.pyi | 9 + pyVmomi/vim/vcha/__init__.pyi | 184 + pyVmomi/vim/view/__init__.pyi | 41 + pyVmomi/vim/vm/__init__.pyi | 2732 ++++++++ pyVmomi/vim/vm/check/__init__.pyi | 28 + pyVmomi/vim/vm/customization/__init__.pyi | 254 + pyVmomi/vim/vm/device/__init__.pyi | 1404 ++++ pyVmomi/vim/vm/guest/__init__.pyi | 294 + pyVmomi/vim/vm/replication/__init__.pyi | 23 + pyVmomi/vim/vsan/__init__.pyi | 0 pyVmomi/vim/vsan/cluster/__init__.pyi | 19 + pyVmomi/vim/vsan/host/__init__.pyi | 179 + pyVmomi/vim/vslm/__init__.pyi | 218 + pyVmomi/vim/vslm/host/__init__.pyi | 32 + pyVmomi/vim/vslm/vcenter/__init__.pyi | 62 + pyVmomi/vmodl/__init__.pyi | 59 + pyVmomi/vmodl/fault/__init__.pyi | 63 + pyVmomi/vmodl/query/__init__.pyi | 172 + setup.py | 3 +- 67 files changed, 29687 insertions(+), 1 deletion(-) create mode 100644 pyVmomi/eam/__init__.pyi create mode 100644 pyVmomi/eam/fault/__init__.pyi create mode 100644 pyVmomi/eam/issue/__init__.pyi create mode 100644 pyVmomi/eam/issue/cluster/__init__.pyi create mode 100644 pyVmomi/eam/issue/cluster/agent/__init__.pyi create mode 100644 pyVmomi/eam/issue/integrity/__init__.pyi create mode 100644 pyVmomi/eam/issue/integrity/agency/__init__.pyi create mode 100644 pyVmomi/eam/issue/personality/__init__.pyi create mode 100644 pyVmomi/eam/issue/personality/agency/__init__.pyi create mode 100644 pyVmomi/eam/issue/personality/agent/__init__.pyi create mode 100644 pyVmomi/eam/lccm/__init__.pyi create mode 100644 pyVmomi/eam/vib/__init__.pyi create mode 100644 pyVmomi/pbm/__init__.pyi create mode 100644 pyVmomi/pbm/auth/__init__.pyi create mode 100644 pyVmomi/pbm/capability/__init__.pyi create mode 100644 pyVmomi/pbm/capability/provider/__init__.pyi create mode 100644 pyVmomi/pbm/capability/types/__init__.pyi create mode 100644 pyVmomi/pbm/compliance/__init__.pyi create mode 100644 pyVmomi/pbm/fault/__init__.pyi create mode 100644 pyVmomi/pbm/placement/__init__.pyi create mode 100644 pyVmomi/pbm/profile/__init__.pyi create mode 100644 pyVmomi/pbm/profile/provider/__init__.pyi create mode 100644 pyVmomi/pbm/provider/__init__.pyi create mode 100644 pyVmomi/pbm/replication/__init__.pyi create mode 100644 pyVmomi/py.typed create mode 100644 pyVmomi/sms/__init__.pyi create mode 100644 pyVmomi/sms/fault/__init__.pyi create mode 100644 pyVmomi/sms/fault/replication/__init__.pyi create mode 100644 pyVmomi/sms/provider/__init__.pyi create mode 100644 pyVmomi/sms/storage/__init__.pyi create mode 100644 pyVmomi/sms/storage/replication/__init__.pyi create mode 100644 pyVmomi/vim/__init__.pyi create mode 100644 pyVmomi/vim/action/__init__.pyi create mode 100644 pyVmomi/vim/alarm/__init__.pyi create mode 100644 pyVmomi/vim/cluster/__init__.pyi create mode 100644 pyVmomi/vim/dvs/__init__.pyi create mode 100644 pyVmomi/vim/encryption/__init__.pyi create mode 100644 pyVmomi/vim/event/__init__.pyi create mode 100644 pyVmomi/vim/ext/__init__.pyi create mode 100644 pyVmomi/vim/fault/__init__.pyi create mode 100644 pyVmomi/vim/host/__init__.pyi create mode 100644 pyVmomi/vim/net/__init__.pyi create mode 100644 pyVmomi/vim/option/__init__.pyi create mode 100644 pyVmomi/vim/profile/__init__.pyi create mode 100644 pyVmomi/vim/profile/cluster/__init__.pyi create mode 100644 pyVmomi/vim/profile/host/__init__.pyi create mode 100644 pyVmomi/vim/scheduler/__init__.pyi create mode 100644 pyVmomi/vim/tenant/__init__.pyi create mode 100644 pyVmomi/vim/vcha/__init__.pyi create mode 100644 pyVmomi/vim/view/__init__.pyi create mode 100644 pyVmomi/vim/vm/__init__.pyi create mode 100644 pyVmomi/vim/vm/check/__init__.pyi create mode 100644 pyVmomi/vim/vm/customization/__init__.pyi create mode 100644 pyVmomi/vim/vm/device/__init__.pyi create mode 100644 pyVmomi/vim/vm/guest/__init__.pyi create mode 100644 pyVmomi/vim/vm/replication/__init__.pyi create mode 100644 pyVmomi/vim/vsan/__init__.pyi create mode 100644 pyVmomi/vim/vsan/cluster/__init__.pyi create mode 100644 pyVmomi/vim/vsan/host/__init__.pyi create mode 100644 pyVmomi/vim/vslm/__init__.pyi create mode 100644 pyVmomi/vim/vslm/host/__init__.pyi create mode 100644 pyVmomi/vim/vslm/vcenter/__init__.pyi create mode 100644 pyVmomi/vmodl/__init__.pyi create mode 100644 pyVmomi/vmodl/fault/__init__.pyi create mode 100644 pyVmomi/vmodl/query/__init__.pyi diff --git a/MANIFEST.in b/MANIFEST.in index 81f690a37..0e6c47a70 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,5 +2,7 @@ include README.* include *.txt include setup.py include tox.ini +include py.typed recursive-include tests * recursive-include sample * +recursive-include pyVmomi *.pyi \ No newline at end of file diff --git a/pyVmomi/eam/__init__.pyi b/pyVmomi/eam/__init__.pyi new file mode 100644 index 000000000..98fd94a29 --- /dev/null +++ b/pyVmomi/eam/__init__.pyi @@ -0,0 +1,210 @@ +from typing import List +from enum import Enum +from pyVmomi import eam, vim, vmodl +from pyVmomi.VmomiSupport import ManagedObject, NoneType +from . import issue, vib + + +class Agency(EamObject): + @property + def solutionId(self) -> str: ... + @property + def owner(self) -> str: ... + @property + def config(self) -> Agency.ConfigInfo: ... + @property + def runtime(self) -> EamObject.RuntimeInfo: ... + @property + def agent(self) -> List[Agent]: ... + def QuerySolutionId(self) -> str: ... + def QueryConfig(self) -> Agency.ConfigInfo: ... + def Update(self, config: Agency.ConfigInfo) -> NoneType: ... + def QueryRuntime(self) -> EamObject.RuntimeInfo: ... + def QueryAgent(self) -> List[Agent]: ... + def RegisterAgentVm(self, agentVm: vim.VirtualMachine) -> Agent: ... + def UnregisterAgentVm(self, agentVm: vim.VirtualMachine) -> NoneType: ... + def Enable(self) -> NoneType: ... + def Disable(self) -> NoneType: ... + def Uninstall(self) -> NoneType: ... + def DestroyAgency(self) -> NoneType: ... + def AddIssue(self, issue: issue.Issue) -> issue.Issue: ... + + + class ComputeResourceScope(Agency.Scope): + @property + def computeResource(self) -> List[vim.ComputeResource]: ... + + + class ConfigInfo(vmodl.DynamicData): + @property + def agentConfig(self) -> List[Agent.ConfigInfo]: ... + @property + def scope(self) -> Agency.Scope: ... + @property + def manuallyMarkAgentVmAvailableAfterProvisioning(self) -> bool: ... + @property + def manuallyMarkAgentVmAvailableAfterPowerOn(self) -> bool: ... + @property + def optimizedDeploymentEnabled(self) -> bool: ... + @property + def agentName(self) -> str: ... + @property + def agencyName(self) -> str: ... + @property + def useUuidVmName(self) -> bool: ... + @property + def manuallyProvisioned(self) -> bool: ... + @property + def manuallyMonitored(self) -> bool: ... + @property + def bypassVumEnabled(self) -> bool: ... + @property + def agentVmNetwork(self) -> List[vim.Network]: ... + @property + def agentVmDatastore(self) -> List[vim.Datastore]: ... + @property + def preferHostConfiguration(self) -> bool: ... + @property + def ipPool(self) -> vim.vApp.IpPool: ... + @property + def resourcePools(self) -> List[Agency.VMResourcePool]: ... + @property + def folders(self) -> List[Agency.VMFolder]: ... + + + class OvfDiskProvisioning(Enum): + none = "none" + thin = "thin" + thick = "thick" + + + class Scope(vmodl.DynamicData): ... + + + class VMFolder(vmodl.DynamicData): + @property + def folderId(self) -> vim.Folder: ... + @property + def datacenterId(self) -> vim.Datacenter: ... + + + class VMResourcePool(vmodl.DynamicData): + @property + def resourcePoolId(self) -> vim.ResourcePool: ... + @property + def computeResourceId(self) -> vim.ComputeResource: ... + + +class Agent(EamObject): + @property + def runtime(self) -> Agent.RuntimeInfo: ... + @property + def config(self) -> Agent.ConfigInfo: ... + def QueryRuntime(self) -> Agent.RuntimeInfo: ... + def MarkAsAvailable(self) -> NoneType: ... + def QueryConfig(self) -> Agent.ConfigInfo: ... + + + class OvfEnvironmentInfo(vmodl.DynamicData): + @property + def ovfProperty(self) -> List[Agent.OvfEnvironmentInfo.OvfProperty]: ... + + + class OvfProperty(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> str: ... + + + class RuntimeInfo(EamObject.RuntimeInfo): + @property + def vmPowerState(self) -> vim.VirtualMachine.PowerState: ... + @property + def receivingHeartBeat(self) -> bool: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmIp(self) -> str: ... + @property + def vmName(self) -> str: ... + @property + def esxAgentResourcePool(self) -> vim.ResourcePool: ... + @property + def esxAgentFolder(self) -> vim.Folder: ... + @property + def installedBulletin(self) -> List[str]: ... + @property + def installedVibs(self) -> List[vib.VibInfo]: ... + @property + def agency(self) -> Agency: ... + @property + def vmHook(self) -> Agent.VmHook: ... + + + class GoalState(Enum): + enabled = "enabled" + disabled = "disabled" + uninstalled = "uninstalled" + + + class Status(Enum): + green = "green" + yellow = "yellow" + red = "red" + + + class StoragePolicy(vmodl.DynamicData): ... + + + class VibMatchingRule(vmodl.DynamicData): + @property + def vibNameRegex(self) -> str: ... + @property + def vibVersionRegex(self) -> str: ... + + + class VmHook(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmState(self) -> str: ... + + + class VmState(Enum): + provisioned = "provisioned" + poweredOn = "poweredon" + prePowerOn = "prepoweron" + + + class VsanStoragePolicy(Agent.StoragePolicy): + @property + def profileId(self) -> str: ... + + +class EamObject(ManagedObject): + def Resolve(self, issueKey: List[int]) -> List[int]: ... + def ResolveAll(self) -> NoneType: ... + def QueryIssue(self, issueKey: List[int]) -> List[issue.Issue]: ... + + +class EsxAgentManager(EamObject): + @property + def agency(self) -> List[Agency]: ... + @property + def issue(self) -> List[issue.Issue]: ... + def QueryAgency(self) -> List[Agency]: ... + def CreateAgency(self, agencyConfigInfo: Agency.ConfigInfo, initialGoalState: str) -> Agency: ... + def ScanForUnknownAgentVm(self) -> NoneType: ... + def SetMaintenanceModePolicy(self, policy: str) -> NoneType: ... + def GetMaintenanceModePolicy(self) -> str: ... + + + class MaintenanceModePolicy(Enum): + singleHost = "singlehost" + multipleHosts = "multiplehosts" + + +class Task(ManagedObject): ... \ No newline at end of file diff --git a/pyVmomi/eam/fault/__init__.pyi b/pyVmomi/eam/fault/__init__.pyi new file mode 100644 index 000000000..f22a886f8 --- /dev/null +++ b/pyVmomi/eam/fault/__init__.pyi @@ -0,0 +1,65 @@ +from typing import List +from pyVmomi import eam, vim, vmodl + + +class DisabledClusterFault(EamAppFault): + @property + def disabledComputeResource(self) -> List[vim.ComputeResource]: ... + + +class EamAppFault(EamRuntimeFault): ... + + +class EamFault(vmodl.MethodFault): ... + + +class EamIOFault(EamRuntimeFault): ... + + +class EamRuntimeFault(vmodl.RuntimeFault): ... + + +class EamServiceNotInitialized(EamRuntimeFault): ... + + +class EamSystemFault(EamRuntimeFault): ... + + +class InvalidAgencyScope(EamFault): + @property + def unknownComputeResource(self) -> List[vim.ComputeResource]: ... + + +class InvalidAgentConfiguration(EamFault): + @property + def invalidAgentConfiguration(self) -> eam.Agent.ConfigInfo: ... + @property + def invalidField(self) -> str: ... + + +class InvalidLogin(EamRuntimeFault): ... + + +class InvalidState(EamAppFault): ... + + +class InvalidUrl(EamFault): + @property + def url(self) -> str: ... + @property + def malformedUrl(self) -> bool: ... + @property + def unknownHost(self) -> bool: ... + @property + def connectionRefused(self) -> bool: ... + @property + def responseCode(self) -> int: ... + + +class InvalidVibPackage(EamRuntimeFault): ... + + +class NoConnectionToVCenter(EamRuntimeFault): ... + + +class NotAuthorized(EamRuntimeFault): ... \ No newline at end of file diff --git a/pyVmomi/eam/issue/__init__.pyi b/pyVmomi/eam/issue/__init__.pyi new file mode 100644 index 000000000..436539355 --- /dev/null +++ b/pyVmomi/eam/issue/__init__.pyi @@ -0,0 +1,239 @@ +from typing import List +from pyVmomi import eam, vim, vmodl +from datetime import datetime + + +class AgencyDisabled(AgencyIssue): ... + + +class AgencyIssue(Issue): + @property + def agency(self) -> eam.Agency: ... + @property + def agencyName(self) -> str: ... + @property + def solutionId(self) -> str: ... + @property + def solutionName(self) -> str: ... + + +class AgentIssue(AgencyIssue): + @property + def agent(self) -> eam.Agent: ... + @property + def agentName(self) -> str: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def hostName(self) -> str: ... + + +class CannotAccessAgentOVF(VmNotDeployed): + @property + def downloadUrl(self) -> str: ... + + +class CannotAccessAgentVib(VibNotInstalled): + @property + def downloadUrl(self) -> str: ... + + +class ExtensibleIssue(Issue): + @property + def typeId(self) -> str: ... + @property + def argument(self) -> List[vmodl.KeyAnyValue]: ... + @property + def target(self) -> vim.ManagedEntity: ... + @property + def agent(self) -> eam.Agent: ... + @property + def agency(self) -> eam.Agency: ... + + +class HostInMaintenanceMode(VmDeployed): ... + + +class HostInStandbyMode(VmDeployed): ... + + +class HostIssue(Issue): + @property + def host(self) -> vim.HostSystem: ... + + +class HostNotReachable(AgentIssue): ... + + +class HostPoweredOff(VmDeployed): ... + + +class ImmediateHostRebootRequired(VibIssue): ... + + +class IncompatibleHostVersion(VmNotDeployed): ... + + +class InsufficientIpAddresses(VmPoweredOff): + @property + def network(self) -> vim.Network: ... + + +class InsufficientResources(VmNotDeployed): ... + + +class InsufficientSpace(VmNotDeployed): ... + + +class InvalidConfig(VmIssue): + @property + def error(self) -> object: ... + + +class Issue(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def description(self) -> str: ... + @property + def time(self) -> datetime: ... + + +class MissingAgentIpPool(VmPoweredOff): + @property + def network(self) -> vim.Network: ... + + +class MissingDvFilterSwitch(AgentIssue): ... + + +class NoAgentVmDatastore(VmNotDeployed): ... + + +class NoAgentVmNetwork(VmNotDeployed): ... + + +class NoCustomAgentVmDatastore(NoAgentVmDatastore): + @property + def customAgentVmDatastore(self) -> List[vim.Datastore]: ... + @property + def customAgentVmDatastoreName(self) -> List[str]: ... + + +class NoCustomAgentVmNetwork(NoAgentVmNetwork): + @property + def customAgentVmNetwork(self) -> List[vim.Network]: ... + @property + def customAgentVmNetworkName(self) -> List[str]: ... + + +class NoDiscoverableAgentVmDatastore(VmNotDeployed): ... + + +class NoDiscoverableAgentVmNetwork(VmNotDeployed): ... + + +class OrphanedAgency(AgencyIssue): ... + + +class OrphanedDvFilterSwitch(HostIssue): ... + + +class OvfInvalidFormat(VmNotDeployed): + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class OvfInvalidProperty(AgentIssue): + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class UnknownAgentVm(HostIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + + +class VibCannotPutHostInMaintenanceMode(VibIssue): ... + + +class VibCannotPutHostOutOfMaintenanceMode(VibIssue): ... + + +class VibDependenciesNotMetByHost(VibNotInstalled): ... + + +class VibInvalidFormat(VibNotInstalled): ... + + +class VibIssue(AgentIssue): ... + + +class VibNotInstalled(VibIssue): ... + + +class VibRequirementsNotMetByHost(VibNotInstalled): ... + + +class VibRequiresHostInMaintenanceMode(VibIssue): ... + + +class VibRequiresHostReboot(VibIssue): ... + + +class VibRequiresManualInstallation(VibIssue): + @property + def bulletin(self) -> List[str]: ... + + +class VibRequiresManualUninstallation(VibIssue): + @property + def bulletin(self) -> List[str]: ... + + +class VmCorrupted(VmIssue): + @property + def missingFile(self) -> str: ... + + +class VmDeployed(VmIssue): ... + + +class VmIssue(AgentIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + + +class VmMarkedAsTemplate(VmIssue): ... + + +class VmNotDeployed(AgentIssue): ... + + +class VmOrphaned(VmIssue): ... + + +class VmPoweredOff(VmIssue): ... + + +class VmPoweredOn(VmIssue): ... + + +class VmRequiresHostOutOfMaintenanceMode(VmNotDeployed): ... + + +class VmSuspended(VmIssue): ... + + +class VmWrongFolder(VmIssue): + @property + def currentFolder(self) -> vim.Folder: ... + @property + def requiredFolder(self) -> vim.Folder: ... + + +class VmWrongResourcePool(VmIssue): + @property + def currentResourcePool(self) -> vim.ResourcePool: ... + @property + def requiredResourcePool(self) -> vim.ResourcePool: ... \ No newline at end of file diff --git a/pyVmomi/eam/issue/cluster/__init__.pyi b/pyVmomi/eam/issue/cluster/__init__.pyi new file mode 100644 index 000000000..e69de29bb diff --git a/pyVmomi/eam/issue/cluster/agent/__init__.pyi b/pyVmomi/eam/issue/cluster/agent/__init__.pyi new file mode 100644 index 000000000..e5af75da4 --- /dev/null +++ b/pyVmomi/eam/issue/cluster/agent/__init__.pyi @@ -0,0 +1,57 @@ +from typing import List +from pyVmomi import eam, vim, vmodl + + +class AgentIssue(eam.issue.AgencyIssue): + @property + def agent(self) -> eam.Agent: ... + @property + def cluster(self) -> vim.ComputeResource: ... + + +class InsufficientClusterResources(VmPoweredOff): ... + + +class InsufficientClusterSpace(VmNotDeployed): ... + + +class InvalidConfig(VmIssue): + @property + def error(self) -> object: ... + + +class MissingClusterVmDatastore(VmNotDeployed): + @property + def missingDatastores(self) -> List[vim.Datastore]: ... + + +class MissingClusterVmNetwork(VmNotDeployed): + @property + def missingNetworks(self) -> List[vim.Network]: ... + @property + def networkNames(self) -> List[str]: ... + + +class OvfInvalidProperty(AgentIssue): + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class VmIssue(AgentIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + + +class VmNotDeployed(AgentIssue): ... + + +class VmNotRemoved(VmIssue): ... + + +class VmPoweredOff(VmIssue): ... + + +class VmPoweredOn(VmIssue): ... + + +class VmSuspended(VmIssue): ... \ No newline at end of file diff --git a/pyVmomi/eam/issue/integrity/__init__.pyi b/pyVmomi/eam/issue/integrity/__init__.pyi new file mode 100644 index 000000000..e69de29bb diff --git a/pyVmomi/eam/issue/integrity/agency/__init__.pyi b/pyVmomi/eam/issue/integrity/agency/__init__.pyi new file mode 100644 index 000000000..aeae16493 --- /dev/null +++ b/pyVmomi/eam/issue/integrity/agency/__init__.pyi @@ -0,0 +1,13 @@ +from pyVmomi import eam + + +class CannotDeleteSoftware(VUMIssue): ... + + +class CannotStageSoftware(VUMIssue): ... + + +class VUMIssue(eam.issue.AgencyIssue): ... + + +class VUMUnavailable(VUMIssue): ... \ No newline at end of file diff --git a/pyVmomi/eam/issue/personality/__init__.pyi b/pyVmomi/eam/issue/personality/__init__.pyi new file mode 100644 index 000000000..e69de29bb diff --git a/pyVmomi/eam/issue/personality/agency/__init__.pyi b/pyVmomi/eam/issue/personality/agency/__init__.pyi new file mode 100644 index 000000000..998f5b856 --- /dev/null +++ b/pyVmomi/eam/issue/personality/agency/__init__.pyi @@ -0,0 +1,33 @@ +from typing import List +from pyVmomi import eam, vim + + +class CannotConfigureSolutions(PMIssue): + @property + def cr(self) -> vim.ComputeResource: ... + @property + def solutionsToModify(self) -> List[str]: ... + @property + def solutionsToRemove(self) -> List[str]: ... + + +class CannotUploadDepot(DepotIssue): + @property + def localDepotUrl(self) -> str: ... + + +class DepotIssue(PMIssue): + @property + def remoteDepotUrl(self) -> str: ... + + +class InaccessibleDepot(DepotIssue): ... + + +class InvalidDepot(DepotIssue): ... + + +class PMIssue(eam.issue.AgencyIssue): ... + + +class PMUnavailable(PMIssue): ... \ No newline at end of file diff --git a/pyVmomi/eam/issue/personality/agent/__init__.pyi b/pyVmomi/eam/issue/personality/agent/__init__.pyi new file mode 100644 index 000000000..8a03eb8ce --- /dev/null +++ b/pyVmomi/eam/issue/personality/agent/__init__.pyi @@ -0,0 +1,10 @@ +from pyVmomi import eam + + +class AwaitingPMRemediation(PMIssue): ... + + +class BlockedByAgencyOperation(PMIssue): ... + + +class PMIssue(eam.issue.AgentIssue): ... \ No newline at end of file diff --git a/pyVmomi/eam/lccm/__init__.pyi b/pyVmomi/eam/lccm/__init__.pyi new file mode 100644 index 000000000..0949b839a --- /dev/null +++ b/pyVmomi/eam/lccm/__init__.pyi @@ -0,0 +1,241 @@ +from typing import List +from pyVmomi import Hooks, Solutions, eam, vim, vmodl +from datetime import datetime + + +class HookInfo(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def solution(self) -> str: ... + @property + def hookType(self) -> str: ... + @property + def raisedAt(self) -> datetime: ... + + +class HookListSpec(vmodl.DynamicData): + @property + def solutions(self) -> List[str]: ... + @property + def hosts(self) -> List[vim.HostSystem]: ... + + +class HookProcessSpec(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def hookType(self) -> str: ... + @property + def processingResult(self) -> str: ... + + +class ApplicationResult(vmodl.DynamicData): + @property + def hosts(self) -> List[Solutions.HostApplicationResult]: ... + + +class ApplySpec(vmodl.DynamicData): + @property + def desiredState(self) -> List[Solutions.SolutionConfig]: ... + @property + def transitionMap(self) -> List[Solutions.TransitionInfo]: ... + @property + def solutions(self) -> List[str]: ... + @property + def hosts(self) -> List[vim.HostSystem]: ... + + +class ComplianceResult(vmodl.DynamicData): + @property + def compliant(self) -> bool: ... + @property + def hosts(self) -> List[Solutions.HostComplianceResult]: ... + + +class ComplianceSpec(vmodl.DynamicData): + @property + def desiredState(self) -> List[Solutions.SolutionConfig]: ... + @property + def solutions(self) -> List[str]: ... + @property + def hosts(self) -> List[vim.HostSystem]: ... + + +class HookAcknowledgeConfig(vmodl.DynamicData): ... + + +class HookConfig(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def acknowledgement(self) -> Solutions.HookAcknowledgeConfig: ... + + +class HostApplicationResult(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def started(self) -> bool: ... + @property + def hostOperational(self) -> bool: ... + @property + def solutions(self) -> List[Solutions.SolutionApplicationResult]: ... + + +class HostBoundSolutionConfig(Solutions.TypeSpecificSolutionConfig): + @property + def preferHostConfiguration(self) -> bool: ... + @property + def networks(self) -> List[vim.Network]: ... + @property + def datastores(self) -> List[vim.Datastore]: ... + @property + def vmci(self) -> List[str]: ... + + +class HostComplianceResult(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def compliant(self) -> bool: ... + @property + def solutions(self) -> List[Solutions.SolutionComplianceResult]: ... + + +class InteractiveHookAcknowledgeConfig(Solutions.HookAcknowledgeConfig): ... + + +class OvfProperty(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> str: ... + + +class ProfileIdStoragePolicy(Solutions.StoragePolicy): + @property + def profileId(self) -> str: ... + + +class SolutionApplicationResult(vmodl.DynamicData): + @property + def solution(self) -> str: ... + @property + def installing(self) -> bool: ... + @property + def validation(self) -> Solutions.SolutionValidationResult: ... + + +class SolutionComplianceResult(vmodl.DynamicData): + @property + def solution(self) -> str: ... + @property + def compliant(self) -> bool: ... + @property + def installing(self) -> bool: ... + @property + def nonComplianceReason(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def upgradingVm(self) -> vim.VirtualMachine: ... + @property + def hook(self) -> Hooks.HookInfo: ... + @property + def issues(self) -> List[eam.issue.Issue]: ... + @property + def solutionConfig(self) -> Solutions.SolutionConfig: ... + + +class SolutionConfig(vmodl.DynamicData): + @property + def solution(self) -> str: ... + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def vmSource(self) -> Solutions.VMSource: ... + @property + def uuidVmName(self) -> bool: ... + @property + def resourcePool(self) -> vim.ResourcePool: ... + @property + def folder(self) -> vim.Folder: ... + @property + def ovfProperties(self) -> List[Solutions.OvfProperty]: ... + @property + def storagePolicies(self) -> List[Solutions.StoragePolicy]: ... + @property + def vmDiskProvisioning(self) -> str: ... + @property + def vmDeploymentOptimization(self) -> str: ... + @property + def typeSpecificConfig(self) -> Solutions.TypeSpecificSolutionConfig: ... + @property + def hooks(self) -> List[Solutions.HookConfig]: ... + + +class SolutionValidationResult(vmodl.DynamicData): + @property + def solution(self) -> str: ... + @property + def valid(self) -> bool: ... + @property + def invalidReason(self) -> str: ... + + +class StoragePolicy(vmodl.DynamicData): ... + + +class TransitionInfo(vmodl.DynamicData): + @property + def solution(self) -> str: ... + @property + def agencyId(self) -> str: ... + + +class TypeSpecificSolutionConfig(vmodl.DynamicData): ... + + +class UrlVMSource(Solutions.VMSource): + @property + def ovfUrl(self) -> str: ... + @property + def certificatePEM(self) -> str: ... + + +class VMSource(vmodl.DynamicData): ... + + +class ValidateSpec(vmodl.DynamicData): + @property + def desiredState(self) -> List[Solutions.SolutionConfig]: ... + @property + def transitionMap(self) -> List[Solutions.TransitionInfo]: ... + + +class ValidationResult(vmodl.DynamicData): + @property + def valid(self) -> bool: ... + @property + def solutionResult(self) -> List[Solutions.SolutionValidationResult]: ... + + +class ExternalProcessingResult(eam.version.version1): ... + + +class HookType(eam.version.version1): ... + + +class InvalidReason(eam.version.version1): ... + + +class NonComplianceReason(eam.version.version1): ... + + +class VMDeploymentOptimization(eam.version.version1): ... + + +class VMDiskProvisioning(eam.version.version1): ... \ No newline at end of file diff --git a/pyVmomi/eam/vib/__init__.pyi b/pyVmomi/eam/vib/__init__.pyi new file mode 100644 index 000000000..2b8c4dad5 --- /dev/null +++ b/pyVmomi/eam/vib/__init__.pyi @@ -0,0 +1,25 @@ +from typing import List +from pyVmomi import vmodl +from datetime import datetime + + +class VibInfo(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def summary(self) -> str: ... + @property + def softwareTags(self) -> VibInfo.SoftwareTags: ... + @property + def releaseDate(self) -> datetime: ... + + + class SoftwareTags(vmodl.DynamicData): + @property + def tags(self) -> List[str]: ... \ No newline at end of file diff --git a/pyVmomi/pbm/__init__.pyi b/pyVmomi/pbm/__init__.pyi new file mode 100644 index 000000000..be0b3bf94 --- /dev/null +++ b/pyVmomi/pbm/__init__.pyi @@ -0,0 +1,105 @@ +from typing import List +from enum import Enum +from pyVmomi import pbm, vmodl +from pyVmomi.VmomiSupport import ManagedObject +from . import auth, capability, compliance, placement, profile, replication + + +class ServiceInstance(ManagedObject): + @property + def content(self) -> ServiceInstanceContent: ... + def RetrieveContent(self) -> ServiceInstanceContent: ... + + +class AboutInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + + +class ExtendedElementDescription(vmodl.DynamicData): + @property + def label(self) -> str: ... + @property + def summary(self) -> str: ... + @property + def key(self) -> str: ... + @property + def messageCatalogKeyPrefix(self) -> str: ... + @property + def messageArg(self) -> List[vmodl.KeyAnyValue]: ... + + +class LoggingConfiguration(vmodl.DynamicData): + @property + def component(self) -> str: ... + @property + def logLevel(self) -> str: ... + + + class Component(Enum): + pbm = "pbm" + vslm = "vslm" + sms = "sms" + spbm = "spbm" + sps = "sps" + httpclient_header = "httpclient_header" + httpclient_content = "httpclient_content" + vmomi = "vmomi" + + + class LogLevel(Enum): + INFO = "info" + DEBUG = "debug" + TRACE = "trace" + + +class ServerObjectRef(vmodl.DynamicData): + @property + def objectType(self) -> str: ... + @property + def key(self) -> str: ... + @property + def serverUuid(self) -> str: ... + + + class ObjectType(Enum): + virtualMachine = "virtualmachine" + virtualMachineAndDisks = "virtualmachineanddisks" + virtualDiskId = "virtualdiskid" + virtualDiskUUID = "virtualdiskuuid" + datastore = "datastore" + vsanObjectId = "vsanobjectid" + fileShareId = "fileshareid" + host = "host" + cluster = "cluster" + unknown = "unknown" + + + class VvolType(Enum): + Config = "config" + Data = "data" + Swap = "swap" + + +class ServiceInstanceContent(vmodl.DynamicData): + @property + def aboutInfo(self) -> AboutInfo: ... + @property + def sessionManager(self) -> auth.SessionManager: ... + @property + def capabilityMetadataManager(self) -> capability.CapabilityMetadataManager: ... + @property + def profileManager(self) -> profile.ProfileManager: ... + @property + def complianceManager(self) -> compliance.ComplianceManager: ... + @property + def placementSolver(self) -> placement.PlacementSolver: ... + @property + def replicationManager(self) -> replication.ReplicationManager: ... + + +class KeystoreName(version.v8_0_0_0): ... \ No newline at end of file diff --git a/pyVmomi/pbm/auth/__init__.pyi b/pyVmomi/pbm/auth/__init__.pyi new file mode 100644 index 000000000..d8b114cd1 --- /dev/null +++ b/pyVmomi/pbm/auth/__init__.pyi @@ -0,0 +1,4 @@ +from pyVmomi.VmomiSupport import ManagedObject + + +class SessionManager(ManagedObject): ... \ No newline at end of file diff --git a/pyVmomi/pbm/capability/__init__.pyi b/pyVmomi/pbm/capability/__init__.pyi new file mode 100644 index 000000000..7a6292065 --- /dev/null +++ b/pyVmomi/pbm/capability/__init__.pyi @@ -0,0 +1,78 @@ +from typing import List +from pyVmomi import pbm, vmodl +from pyVmomi.VmomiSupport import ManagedObject + + +class CapabilityMetadataManager(ManagedObject): ... + + +class CapabilityInstance(vmodl.DynamicData): + @property + def id(self) -> CapabilityMetadata.UniqueId: ... + @property + def constraint(self) -> List[ConstraintInstance]: ... + + +class CapabilityMetadata(vmodl.DynamicData): + @property + def id(self) -> CapabilityMetadata.UniqueId: ... + @property + def summary(self) -> pbm.ExtendedElementDescription: ... + @property + def mandatory(self) -> bool: ... + @property + def hint(self) -> bool: ... + @property + def keyId(self) -> str: ... + @property + def allowMultipleConstraints(self) -> bool: ... + @property + def propertyMetadata(self) -> List[PropertyMetadata]: ... + + + class UniqueId(vmodl.DynamicData): + @property + def namespace(self) -> str: ... + @property + def id(self) -> str: ... + + +class ConstraintInstance(vmodl.DynamicData): + @property + def propertyInstance(self) -> List[PropertyInstance]: ... + + +class GenericTypeInfo(TypeInfo): + @property + def genericTypeName(self) -> str: ... + + +class PropertyInstance(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def operator(self) -> str: ... + @property + def value(self) -> object: ... + + +class PropertyMetadata(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def summary(self) -> pbm.ExtendedElementDescription: ... + @property + def mandatory(self) -> bool: ... + @property + def type(self) -> TypeInfo: ... + @property + def defaultValue(self) -> object: ... + @property + def allowedValue(self) -> object: ... + @property + def requirementsTypeHint(self) -> str: ... + + +class TypeInfo(vmodl.DynamicData): + @property + def typeName(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/pbm/capability/provider/__init__.pyi b/pyVmomi/pbm/capability/provider/__init__.pyi new file mode 100644 index 000000000..4d3698ac2 --- /dev/null +++ b/pyVmomi/pbm/capability/provider/__init__.pyi @@ -0,0 +1,80 @@ +from typing import List +from enum import Enum +from pyVmomi import pbm, vmodl + + +class CapabilityObjectMetadataPerCategory(vmodl.DynamicData): + @property + def subCategory(self) -> str: ... + @property + def capabilityMetadata(self) -> List[pbm.capability.CapabilityMetadata]: ... + + +class CapabilityObjectSchema(vmodl.DynamicData): + @property + def vendorInfo(self) -> CapabilityObjectSchema.VendorInfo: ... + @property + def namespaceInfo(self) -> CapabilityObjectSchema.NamespaceInfo: ... + @property + def lineOfService(self) -> LineOfServiceInfo: ... + @property + def capabilityMetadataPerCategory(self) -> List[CapabilityObjectMetadataPerCategory]: ... + + + class NamespaceInfo(vmodl.DynamicData): + @property + def version(self) -> str: ... + @property + def namespace(self) -> str: ... + @property + def info(self) -> pbm.ExtendedElementDescription: ... + + + class VendorInfo(vmodl.DynamicData): + @property + def vendorUuid(self) -> str: ... + @property + def info(self) -> pbm.ExtendedElementDescription: ... + + + class VendorNamespaceInfo(vmodl.DynamicData): + @property + def vendorInfo(self) -> CapabilityObjectSchema.VendorInfo: ... + @property + def namespaceInfo(self) -> CapabilityObjectSchema.NamespaceInfo: ... + + + class VendorResourceTypeInfo(vmodl.DynamicData): + @property + def resourceType(self) -> str: ... + @property + def vendorNamespaceInfo(self) -> List[CapabilityObjectSchema.VendorNamespaceInfo]: ... + + +class LineOfServiceInfo(vmodl.DynamicData): + @property + def lineOfService(self) -> str: ... + @property + def name(self) -> pbm.ExtendedElementDescription: ... + @property + def description(self) -> pbm.ExtendedElementDescription: ... + + + class LineOfServiceEnum(Enum): + INSPECTION = "inspection" + COMPRESSION = "compression" + ENCRYPTION = "encryption" + REPLICATION = "replication" + CACHING = "caching" + PERSISTENCE = "persistence" + DATA_PROVIDER = "data_provider" + DATASTORE_IO_CONTROL = "datastore_io_control" + DATA_PROTECTION = "data_protection" + + +class PersistenceBasedDataServiceInfo(LineOfServiceInfo): + @property + def compatiblePersistenceSchemaNamespace(self) -> List[str]: ... + + +class VaioDataServiceInfo(LineOfServiceInfo): ... \ No newline at end of file diff --git a/pyVmomi/pbm/capability/types/__init__.pyi b/pyVmomi/pbm/capability/types/__init__.pyi new file mode 100644 index 000000000..dfb300018 --- /dev/null +++ b/pyVmomi/pbm/capability/types/__init__.pyi @@ -0,0 +1,28 @@ +from typing import List +from pyVmomi import pbm, vmodl + + +class DescriptiveValue(vmodl.DynamicData): + @property + def description(self) -> pbm.ExtendedElementDescription: ... + @property + def value(self) -> object: ... + + +class DiscreteSet(vmodl.DynamicData): + @property + def values(self) -> List[object]: ... + + +class Range(vmodl.DynamicData): + @property + def min(self) -> object: ... + @property + def max(self) -> object: ... + + +class TimeSpan(vmodl.DynamicData): + @property + def value(self) -> int: ... + @property + def unit(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/pbm/compliance/__init__.pyi b/pyVmomi/pbm/compliance/__init__.pyi new file mode 100644 index 000000000..4bd358ebf --- /dev/null +++ b/pyVmomi/pbm/compliance/__init__.pyi @@ -0,0 +1,95 @@ +from typing import List +from enum import Enum +from pyVmomi import pbm, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, long + + +class ComplianceManager(ManagedObject): + def CheckCompliance(self, entities: List[pbm.ServerObjectRef], profile: pbm.profile.ProfileId) -> List[ComplianceResult]: ... + def FetchComplianceResult(self, entities: List[pbm.ServerObjectRef], profile: pbm.profile.ProfileId) -> List[ComplianceResult]: ... + def CheckRollupCompliance(self, entity: List[pbm.ServerObjectRef]) -> List[RollupComplianceResult]: ... + def FetchRollupComplianceResult(self, entity: List[pbm.ServerObjectRef]) -> List[RollupComplianceResult]: ... + def QueryByRollupComplianceStatus(self, status: str) -> List[pbm.ServerObjectRef]: ... + + +class ComplianceResult(vmodl.DynamicData): + @property + def checkTime(self) -> datetime: ... + @property + def entity(self) -> pbm.ServerObjectRef: ... + @property + def profile(self) -> pbm.profile.ProfileId: ... + @property + def complianceTaskStatus(self) -> str: ... + @property + def complianceStatus(self) -> str: ... + @property + def mismatch(self) -> bool: ... + @property + def violatedPolicies(self) -> List[PolicyStatus]: ... + @property + def errorCause(self) -> List[vmodl.MethodFault]: ... + @property + def operationalStatus(self) -> OperationalStatus: ... + @property + def info(self) -> pbm.ExtendedElementDescription: ... + + + class ComplianceStatus(Enum): + compliant = "compliant" + nonCompliant = "noncompliant" + unknown = "unknown" + notApplicable = "notapplicable" + outOfDate = "outofdate" + + + class ComplianceTaskStatus(Enum): + inProgress = "inprogress" + success = "success" + failed = "failed" + + +class FetchEntityHealthStatusSpec(vmodl.DynamicData): + @property + def objectRef(self) -> pbm.ServerObjectRef: ... + @property + def backingId(self) -> str: ... + + +class OperationalStatus(vmodl.DynamicData): + @property + def healthy(self) -> bool: ... + @property + def operationETA(self) -> datetime: ... + @property + def operationProgress(self) -> long: ... + @property + def transitional(self) -> bool: ... + + +class PolicyStatus(vmodl.DynamicData): + @property + def expectedValue(self) -> pbm.capability.CapabilityInstance: ... + @property + def currentValue(self) -> pbm.capability.CapabilityInstance: ... + + +class RollupComplianceResult(vmodl.DynamicData): + @property + def oldestCheckTime(self) -> datetime: ... + @property + def entity(self) -> pbm.ServerObjectRef: ... + @property + def overallComplianceStatus(self) -> str: ... + @property + def overallComplianceTaskStatus(self) -> str: ... + @property + def result(self) -> List[ComplianceResult]: ... + @property + def errorCause(self) -> List[vmodl.MethodFault]: ... + @property + def profileMismatch(self) -> bool: ... + + +class HealthStatus(pbm.version.v7_0): ... \ No newline at end of file diff --git a/pyVmomi/pbm/fault/__init__.pyi b/pyVmomi/pbm/fault/__init__.pyi new file mode 100644 index 000000000..d497c31b7 --- /dev/null +++ b/pyVmomi/pbm/fault/__init__.pyi @@ -0,0 +1,71 @@ +from typing import List +from pyVmomi import pbm, vmodl + + +class AlreadyExists(PBMFault): + @property + def name(self) -> str: ... + + +class CapabilityProfilePropertyMismatchFault(PropertyMismatchFault): + @property + def resourcePropertyInstance(self) -> pbm.capability.PropertyInstance: ... + + +class CompatibilityCheckFault(PBMFault): + @property + def hub(self) -> pbm.placement.PlacementHub: ... + + +class DefaultProfileAppliesFault(CompatibilityCheckFault): ... + + +class DuplicateName(PBMFault): + @property + def name(self) -> str: ... + + +class IncompatibleVendorSpecificRuleSet(CapabilityProfilePropertyMismatchFault): ... + + +class InvalidLogin(PBMFault): ... + + +class LegacyHubsNotSupported(PBMFault): + @property + def hubs(self) -> List[pbm.placement.PlacementHub]: ... + + +class EntityPrivileges(vmodl.DynamicData): + @property + def profileId(self) -> pbm.profile.ProfileId: ... + @property + def privilegeIds(self) -> List[str]: ... + + +class NonExistentHubs(PBMFault): + @property + def hubs(self) -> List[pbm.placement.PlacementHub]: ... + + +class NotFound(PBMFault): ... + + +class PBMFault(vmodl.MethodFault): ... + + +class ProfileStorageFault(PBMFault): ... + + +class PropertyMismatchFault(CompatibilityCheckFault): + @property + def capabilityInstanceId(self) -> pbm.capability.CapabilityMetadata.UniqueId: ... + @property + def requirementPropertyInstance(self) -> pbm.capability.PropertyInstance: ... + + +class ResourceInUse(PBMFault): + @property + def type(self) -> type: ... + @property + def name(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/pbm/placement/__init__.pyi b/pyVmomi/pbm/placement/__init__.pyi new file mode 100644 index 000000000..ce5269066 --- /dev/null +++ b/pyVmomi/pbm/placement/__init__.pyi @@ -0,0 +1,67 @@ +from typing import List +from pyVmomi import pbm, vim, vmodl +from pyVmomi.VmomiSupport import ManagedObject, long + + +class PlacementSolver(ManagedObject): + def QueryMatchingHub(self, hubsToSearch: List[PlacementHub], profile: pbm.profile.ProfileId) -> List[PlacementHub]: ... + def QueryMatchingHubWithSpec(self, hubsToSearch: List[PlacementHub], createSpec: pbm.profile.CapabilityBasedProfileCreateSpec) -> List[PlacementHub]: ... + def CheckCompatibility(self, hubsToSearch: List[PlacementHub], profile: pbm.profile.ProfileId) -> List[CompatibilityResult]: ... + def CheckCompatibilityWithSpec(self, hubsToSearch: List[PlacementHub], profileSpec: pbm.profile.CapabilityBasedProfileCreateSpec) -> List[CompatibilityResult]: ... + def CheckRequirements(self, hubsToSearch: List[PlacementHub], placementSubjectRef: pbm.ServerObjectRef, placementSubjectRequirement: List[Requirement]) -> List[CompatibilityResult]: ... + + +class CapabilityConstraintsRequirement(Requirement): + @property + def constraints(self) -> pbm.profile.CapabilityConstraints: ... + + +class CapabilityProfileRequirement(Requirement): + @property + def profileId(self) -> pbm.profile.ProfileId: ... + + +class CompatibilityResult(vmodl.DynamicData): + @property + def hub(self) -> PlacementHub: ... + @property + def matchingResources(self) -> List[MatchingResources]: ... + @property + def howMany(self) -> long: ... + @property + def utilization(self) -> List[ResourceUtilization]: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class MatchingReplicationResources(MatchingResources): + @property + def replicationGroup(self) -> List[vim.vm.replication.ReplicationGroupId]: ... + + +class MatchingResources(vmodl.DynamicData): ... + + +class PlacementHub(vmodl.DynamicData): + @property + def hubType(self) -> str: ... + @property + def hubId(self) -> str: ... + + +class Requirement(vmodl.DynamicData): ... + + +class ResourceUtilization(vmodl.DynamicData): + @property + def name(self) -> pbm.ExtendedElementDescription: ... + @property + def description(self) -> pbm.ExtendedElementDescription: ... + @property + def availableBefore(self) -> long: ... + @property + def availableAfter(self) -> long: ... + @property + def total(self) -> long: ... \ No newline at end of file diff --git a/pyVmomi/pbm/profile/__init__.pyi b/pyVmomi/pbm/profile/__init__.pyi new file mode 100644 index 000000000..c87ea6b4a --- /dev/null +++ b/pyVmomi/pbm/profile/__init__.pyi @@ -0,0 +1,185 @@ +from typing import List +from enum import Enum +from pyVmomi import pbm, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, long +from . import provider + + +class ProfileManager(ManagedObject): + def FetchResourceType(self) -> List[ResourceType]: ... + def FetchVendorInfo(self, resourceType: ResourceType) -> List[pbm.capability.provider.CapabilityObjectSchema.VendorResourceTypeInfo]: ... + def FetchCapabilityMetadata(self, resourceType: ResourceType, vendorUuid: str) -> List[pbm.capability.provider.CapabilityObjectMetadataPerCategory]: ... + def FetchCapabilitySchema(self, vendorUuid: str, lineOfService: List[str]) -> List[pbm.capability.provider.CapabilityObjectSchema]: ... + def Create(self, createSpec: CapabilityBasedProfileCreateSpec) -> ProfileId: ... + def Update(self, profileId: ProfileId, updateSpec: CapabilityBasedProfileUpdateSpec) -> NoneType: ... + def Delete(self, profileId: List[ProfileId]) -> List[ProfileOperationOutcome]: ... + def QueryProfile(self, resourceType: ResourceType, profileCategory: str) -> List[ProfileId]: ... + def RetrieveContent(self, profileIds: List[ProfileId]) -> List[Profile]: ... + def QueryAssociatedProfiles(self, entities: List[pbm.ServerObjectRef]) -> List[QueryProfileResult]: ... + def QueryAssociatedProfile(self, entity: pbm.ServerObjectRef) -> List[ProfileId]: ... + def QueryAssociatedEntity(self, profile: ProfileId, entityType: str) -> List[pbm.ServerObjectRef]: ... + def QueryDefaultRequirementProfile(self, hub: pbm.placement.PlacementHub) -> ProfileId: ... + def ResetDefaultRequirementProfile(self, profile: ProfileId) -> NoneType: ... + def AssignDefaultRequirementProfile(self, profile: ProfileId, datastores: List[pbm.placement.PlacementHub]) -> NoneType: ... + def FindApplicableDefaultProfile(self, datastores: List[pbm.placement.PlacementHub]) -> List[Profile]: ... + def QueryDefaultRequirementProfiles(self, datastores: List[pbm.placement.PlacementHub]) -> List[DefaultProfileInfo]: ... + def ResetVSanDefaultProfile(self) -> NoneType: ... + def QuerySpaceStatsForStorageContainer(self, datastore: pbm.ServerObjectRef, capabilityProfileId: List[ProfileId]) -> List[provider.DatastoreSpaceStatistics]: ... + def QueryAssociatedEntities(self, profiles: List[ProfileId]) -> List[QueryProfileResult]: ... + + +class CapabilityBasedProfile(Profile): + @property + def profileCategory(self) -> str: ... + @property + def resourceType(self) -> ResourceType: ... + @property + def constraints(self) -> CapabilityConstraints: ... + @property + def generationId(self) -> long: ... + @property + def isDefault(self) -> bool: ... + @property + def systemCreatedProfileType(self) -> str: ... + @property + def lineOfService(self) -> str: ... + + + class ProfileCategoryEnum(Enum): + REQUIREMENT = "requirement" + RESOURCE = "resource" + DATA_SERVICE_POLICY = "data_service_policy" + + + class SystemCreatedProfileType(Enum): + VsanDefaultProfile = "vsandefaultprofile" + VVolDefaultProfile = "vvoldefaultprofile" + PmemDefaultProfile = "pmemdefaultprofile" + VmcManagementProfile = "vmcmanagementprofile" + VsanMaxDefaultProfile = "vsanmaxdefaultprofile" + + +class CapabilityBasedProfileCreateSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def category(self) -> str: ... + @property + def resourceType(self) -> ResourceType: ... + @property + def constraints(self) -> CapabilityConstraints: ... + + +class CapabilityBasedProfileUpdateSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def constraints(self) -> CapabilityConstraints: ... + + +class CapabilityConstraints(vmodl.DynamicData): ... + + +class DataServiceToPoliciesMap(vmodl.DynamicData): + @property + def dataServicePolicy(self) -> ProfileId: ... + @property + def parentStoragePolicies(self) -> List[ProfileId]: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class DefaultCapabilityBasedProfile(CapabilityBasedProfile): + @property + def vvolType(self) -> List[str]: ... + @property + def containerId(self) -> str: ... + + +class DefaultProfileInfo(vmodl.DynamicData): + @property + def datastores(self) -> List[pbm.placement.PlacementHub]: ... + @property + def defaultProfile(self) -> Profile: ... + + +class Profile(vmodl.DynamicData): + @property + def profileId(self) -> ProfileId: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def creationTime(self) -> datetime: ... + @property + def createdBy(self) -> str: ... + @property + def lastUpdatedTime(self) -> datetime: ... + @property + def lastUpdatedBy(self) -> str: ... + + +class ProfileId(vmodl.DynamicData): + @property + def uniqueId(self) -> str: ... + + +class ProfileOperationOutcome(vmodl.DynamicData): + @property + def profileId(self) -> ProfileId: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class ProfileType(vmodl.DynamicData): + @property + def uniqueId(self) -> str: ... + + +class QueryProfileResult(vmodl.DynamicData): + @property + def object(self) -> pbm.ServerObjectRef: ... + @property + def profileId(self) -> List[ProfileId]: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class ResourceType(vmodl.DynamicData): + @property + def resourceType(self) -> str: ... + + +class SubProfileCapabilityConstraints(CapabilityConstraints): + @property + def subProfiles(self) -> List[SubProfileCapabilityConstraints.SubProfile]: ... + + + class SubProfile(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def capability(self) -> List[pbm.capability.CapabilityInstance]: ... + @property + def forceProvision(self) -> bool: ... + + +class PolicyStatus(pbm.version.version1): ... + + +class Operation(pbm.version.version11): ... + + +class FilterType(pbm.version.version1): ... + + +class VolumeAllocationType(pbm.version.v8_0_0_1): ... + + +class Operation(pbm.version.version11): ... \ No newline at end of file diff --git a/pyVmomi/pbm/profile/provider/__init__.pyi b/pyVmomi/pbm/profile/provider/__init__.pyi new file mode 100644 index 000000000..1f0057132 --- /dev/null +++ b/pyVmomi/pbm/profile/provider/__init__.pyi @@ -0,0 +1,19 @@ +from pyVmomi import vmodl +from pyVmomi.VmomiSupport import long + + +class DatastoreSpaceStatistics(vmodl.DynamicData): + @property + def profileId(self) -> str: ... + @property + def physicalTotalInMB(self) -> long: ... + @property + def physicalFreeInMB(self) -> long: ... + @property + def physicalUsedInMB(self) -> long: ... + @property + def logicalLimitInMB(self) -> long: ... + @property + def logicalFreeInMB(self) -> long: ... + @property + def logicalUsedInMB(self) -> long: ... \ No newline at end of file diff --git a/pyVmomi/pbm/provider/__init__.pyi b/pyVmomi/pbm/provider/__init__.pyi new file mode 100644 index 000000000..08ff2cef0 --- /dev/null +++ b/pyVmomi/pbm/provider/__init__.pyi @@ -0,0 +1,4 @@ +from pyVmomi.VmomiSupport import ManagedObject + + +class Provider(ManagedObject): ... \ No newline at end of file diff --git a/pyVmomi/pbm/replication/__init__.pyi b/pyVmomi/pbm/replication/__init__.pyi new file mode 100644 index 000000000..45f8eb909 --- /dev/null +++ b/pyVmomi/pbm/replication/__init__.pyi @@ -0,0 +1,16 @@ +from typing import List +from pyVmomi import ReplicationGroupId, pbm, vmodl +from pyVmomi.VmomiSupport import ManagedObject + + +class ReplicationManager(ManagedObject): + def QueryReplicationGroups(self, entities: List[pbm.ServerObjectRef]) -> List[QueryReplicationGroupResult]: ... + + +class QueryReplicationGroupResult(vmodl.DynamicData): + @property + def object(self) -> pbm.ServerObjectRef: ... + @property + def replicationGroupId(self) -> ReplicationGroupId: ... + @property + def fault(self) -> vmodl.MethodFault: ... \ No newline at end of file diff --git a/pyVmomi/py.typed b/pyVmomi/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/pyVmomi/sms/__init__.pyi b/pyVmomi/sms/__init__.pyi new file mode 100644 index 000000000..616691b7f --- /dev/null +++ b/pyVmomi/sms/__init__.pyi @@ -0,0 +1,120 @@ +from typing import List +from enum import Enum +from pyVmomi import auth, vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject +from . import provider, storage + + +class ServiceInstance(ManagedObject): + def QueryStorageManager(self) -> StorageManager: ... + def QuerySessionManager(self) -> auth.SessionManager: ... + def QueryAboutInfo(self) -> AboutInfo: ... + + +class StorageManager(ManagedObject): + def RegisterProvider(self, providerSpec: provider.ProviderSpec) -> Task: ... + def UnregisterProvider(self, providerId: str) -> Task: ... + def QueryProvider(self) -> List[provider.Provider]: ... + def QueryArray(self, providerId: List[str]) -> List[storage.StorageArray]: ... + def QueryProcessorAssociatedWithArray(self, arrayId: str) -> List[storage.StorageProcessor]: ... + def QueryPortAssociatedWithArray(self, arrayId: str) -> List[storage.StoragePort]: ... + def QueryPortAssociatedWithLun(self, scsi3Id: str, arrayId: str) -> storage.StoragePort: ... + def QueryLunAssociatedWithPort(self, portId: str, arrayId: str) -> List[storage.StorageLun]: ... + def QueryArrayAssociatedWithLun(self, canonicalName: str) -> storage.StorageArray: ... + def QueryPortAssociatedWithProcessor(self, processorId: str, arrayId: str) -> List[storage.StoragePort]: ... + def QueryLunAssociatedWithArray(self, arrayId: str) -> List[storage.StorageLun]: ... + def QueryFileSystemAssociatedWithArray(self, arrayId: str) -> List[storage.StorageFileSystem]: ... + def QueryDatastoreCapability(self, datastore: vim.Datastore) -> storage.StorageCapability: ... + def QueryHostAssociatedWithLun(self, scsi3Id: str, arrayId: str) -> List[vim.HostSystem]: ... + def QueryVmfsDatastoreAssociatedWithLun(self, scsi3Id: str, arrayId: str) -> vim.Datastore: ... + def QueryNfsDatastoreAssociatedWithFileSystem(self, fileSystemId: str, arrayId: str) -> vim.Datastore: ... + def QueryDrsMigrationCapabilityForPerformance(self, srcDatastore: vim.Datastore, dstDatastore: vim.Datastore) -> bool: ... + def QueryDrsMigrationCapabilityForPerformanceEx(self, datastore: List[vim.Datastore]) -> storage.DrsMigrationCapabilityResult: ... + def QueryStorageContainer(self, containerSpec: storage.StorageContainerSpec) -> storage.StorageContainerResult: ... + def QueryAssociatedBackingStoragePool(self, entityId: str, entityType: str) -> List[storage.BackingStoragePool]: ... + def QueryDatastoreBackingPoolMapping(self, datastore: List[vim.Datastore]) -> List[storage.DatastoreBackingPoolMapping]: ... + def RefreshCACertificatesAndCRLs(self, providerId: List[str]) -> Task: ... + def QueryFaultDomain(self, filter: FaultDomainFilter) -> List[vim.vm.replication.FaultDomainId]: ... + def QueryReplicationGroupInfo(self, rgFilter: ReplicationGroupFilter) -> List[storage.replication.GroupOperationResult]: ... + + +class Task(ManagedObject): + def QueryResult(self) -> object: ... + def QueryInfo(self) -> TaskInfo: ... + + +class AboutInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def fullName(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def apiVersion(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + @property + def vasaApiVersion(self) -> str: ... + + +class EntityReference(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def type(self) -> EntityReference.EntityType: ... + + + class EntityType(Enum): + datacenter = "datacenter" + resourcePool = "resourcepool" + storagePod = "storagepod" + cluster = "cluster" + vm = "vm" + datastore = "datastore" + host = "host" + vmFile = "vmfile" + scsiPath = "scsipath" + scsiTarget = "scsitarget" + scsiVolume = "scsivolume" + scsiAdapter = "scsiadapter" + nasMount = "nasmount" + + +class FaultDomainFilter(vmodl.DynamicData): + @property + def providerId(self) -> str: ... + + +class ReplicationGroupFilter(vmodl.DynamicData): + @property + def groupId(self) -> List[vim.vm.replication.ReplicationGroupId]: ... + + +class TaskInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def task(self) -> Task: ... + @property + def object(self) -> ManagedObject: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def result(self) -> object: ... + @property + def startTime(self) -> datetime: ... + @property + def completionTime(self) -> datetime: ... + @property + def state(self) -> str: ... + @property + def progress(self) -> int: ... + + + class State(Enum): + queued = "queued" + running = "running" + success = "success" + error = "error" \ No newline at end of file diff --git a/pyVmomi/sms/fault/__init__.pyi b/pyVmomi/sms/fault/__init__.pyi new file mode 100644 index 000000000..05c84ac61 --- /dev/null +++ b/pyVmomi/sms/fault/__init__.pyi @@ -0,0 +1,134 @@ +from typing import List +from pyVmomi import sms, vim, vmodl +from pyVmomi.VmomiSupport import long + + +class AuthConnectionFailed(NoPermission): ... + + +class CertificateAuthorityFault(ProviderRegistrationFault): + @property + def faultCode(self) -> int: ... + + +class CertificateNotImported(ProviderRegistrationFault): ... + + +class CertificateNotTrusted(ProviderRegistrationFault): + @property + def certificate(self) -> str: ... + + +class CertificateRefreshFailed(vmodl.MethodFault): + @property + def providerId(self) -> List[str]: ... + + +class CertificateRevocationFailed(vmodl.MethodFault): ... + + +class DuplicateEntry(vmodl.MethodFault): ... + + +class InactiveProvider(vmodl.MethodFault): + @property + def mapping(self) -> List[sms.storage.FaultDomainProviderMapping]: ... + + +class IncorrectUsernamePassword(ProviderRegistrationFault): ... + + +class InvalidCertificate(ProviderRegistrationFault): + @property + def certificate(self) -> str: ... + + +class InvalidLogin(vmodl.MethodFault): ... + + +class InvalidProfile(vmodl.MethodFault): ... + + +class InvalidSession(NoPermission): + @property + def sessionCookie(self) -> str: ... + + +class InvalidUrl(ProviderRegistrationFault): + @property + def url(self) -> str: ... + + +class MultipleSortSpecsNotSupported(InvalidArgument): ... + + +class NoCommonProviderForAllBackings(QueryExecutionFault): ... + + +class NotSupportedByProvider(vmodl.MethodFault): ... + + +class ProviderBusy(vmodl.MethodFault): ... + + +class ProviderConnectionFailed(vmodl.RuntimeFault): ... + + +class ProviderNotFound(QueryExecutionFault): ... + + +class ProviderOutOfProvisioningResource(vmodl.MethodFault): + @property + def provisioningResourceId(self) -> str: ... + @property + def availableBefore(self) -> long: ... + @property + def availableAfter(self) -> long: ... + @property + def total(self) -> long: ... + @property + def isTransient(self) -> bool: ... + + +class ProviderOutOfResource(vmodl.MethodFault): ... + + +class ProviderRegistrationFault(vmodl.MethodFault): ... + + +class ProviderSyncFailed(vmodl.MethodFault): ... + + +class ProviderUnavailable(vmodl.MethodFault): ... + + +class ProviderUnregistrationFault(vmodl.MethodFault): ... + + +class ProxyRegistrationFailed(vmodl.RuntimeFault): ... + + +class QueryExecutionFault(vmodl.MethodFault): ... + + +class QueryNotSupported(InvalidArgument): + @property + def entityType(self) -> sms.EntityReference.EntityType: ... + @property + def relatedEntityType(self) -> sms.EntityReference.EntityType: ... + + +class ResourceInUse(ResourceInUse): + @property + def deviceIds(self) -> List[sms.storage.replication.DeviceId]: ... + + +class ServiceNotInitialized(vmodl.RuntimeFault): ... + + +class SyncInProgress(ProviderSyncFailed): ... + + +class TooMany(vmodl.MethodFault): + @property + def maxBatchSize(self) -> long: ... \ No newline at end of file diff --git a/pyVmomi/sms/fault/replication/__init__.pyi b/pyVmomi/sms/fault/replication/__init__.pyi new file mode 100644 index 000000000..59de76743 --- /dev/null +++ b/pyVmomi/sms/fault/replication/__init__.pyi @@ -0,0 +1,34 @@ +from typing import List +from pyVmomi import DeviceId, sms, vmodl + + +class AlreadyDone(ReplicationFault): ... + + +class InvalidFunctionTarget(ReplicationFault): ... + + +class InvalidReplicationState(ReplicationFault): + @property + def desiredState(self) -> List[str]: ... + @property + def currentState(self) -> str: ... + + +class NoReplicationTarget(ReplicationFault): ... + + +class NoValidReplica(ReplicationFault): + @property + def deviceId(self) -> DeviceId: ... + + +class PeerNotReachable(ReplicationFault): ... + + +class ReplicationFault(vmodl.MethodFault): ... + + +class SyncOngoing(ReplicationFault): + @property + def task(self) -> sms.Task: ... \ No newline at end of file diff --git a/pyVmomi/sms/provider/__init__.pyi b/pyVmomi/sms/provider/__init__.pyi new file mode 100644 index 000000000..7933b9546 --- /dev/null +++ b/pyVmomi/sms/provider/__init__.pyi @@ -0,0 +1,184 @@ +from typing import List +from enum import Enum +from pyVmomi import sms, vim, vmodl +from pyVmomi.VmomiSupport import ManagedObject, long + + +class Provider(ManagedObject): + def QueryProviderInfo(self) -> ProviderInfo: ... + + +class VasaProvider(Provider): + def Sync(self, arrayId: str) -> sms.Task: ... + def RefreshCertificate(self) -> sms.Task: ... + def RevokeCertificate(self) -> sms.Task: ... + def Reconnect(self) -> sms.Task: ... + def QueryReplicationPeer(self, faultDomainId: List[vim.vm.replication.FaultDomainId]) -> List[sms.storage.replication.QueryReplicationPeerResult]: ... + def QueryReplicationGroup(self, groupId: List[vim.vm.replication.ReplicationGroupId]) -> List[sms.storage.replication.GroupOperationResult]: ... + def QueryPointInTimeReplica(self, groupId: List[vim.vm.replication.ReplicationGroupId], queryParam: sms.storage.replication.QueryPointInTimeReplicaParam) -> List[sms.storage.replication.GroupOperationResult]: ... + def TestFailoverReplicationGroupStart(self, testFailoverParam: sms.storage.replication.TestFailoverParam) -> sms.Task: ... + def TestFailoverReplicationGroupStop(self, groupId: List[vim.vm.replication.ReplicationGroupId], force: bool) -> sms.Task: ... + def PromoteReplicationGroup(self, promoteParam: sms.storage.replication.PromoteParam) -> sms.Task: ... + def SyncReplicationGroup(self, groupId: List[vim.vm.replication.ReplicationGroupId], pitName: str) -> sms.Task: ... + def PrepareFailoverReplicationGroup(self, groupId: List[vim.vm.replication.ReplicationGroupId]) -> sms.Task: ... + def FailoverReplicationGroup(self, failoverParam: sms.storage.replication.FailoverParam) -> sms.Task: ... + def ReverseReplicateGroup(self, groupId: List[vim.vm.replication.ReplicationGroupId]) -> sms.Task: ... + def QueryActiveAlarm(self, alarmFilter: AlarmFilter) -> AlarmResult: ... + + +class AlarmFilter(vmodl.DynamicData): + @property + def alarmStatus(self) -> str: ... + @property + def alarmType(self) -> str: ... + @property + def entityType(self) -> str: ... + @property + def entityId(self) -> List[object]: ... + @property + def pageMarker(self) -> str: ... + + +class AlarmResult(vmodl.DynamicData): + @property + def storageAlarm(self) -> List[sms.storage.StorageAlarm]: ... + @property + def pageMarker(self) -> str: ... + + +class ProviderInfo(vmodl.DynamicData): + @property + def uid(self) -> str: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def version(self) -> str: ... + + +class ProviderSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + + +class VasaProviderInfo(ProviderInfo): + @property + def url(self) -> str: ... + @property + def certificate(self) -> str: ... + @property + def status(self) -> str: ... + @property + def statusFault(self) -> vmodl.MethodFault: ... + @property + def vasaVersion(self) -> str: ... + @property + def namespace(self) -> str: ... + @property + def lastSyncTime(self) -> str: ... + @property + def supportedVendorModelMapping(self) -> List[VasaProviderInfo.SupportedVendorModelMapping]: ... + @property + def supportedProfile(self) -> List[str]: ... + @property + def supportedProviderProfile(self) -> List[str]: ... + @property + def relatedStorageArray(self) -> List[VasaProviderInfo.RelatedStorageArray]: ... + @property + def providerId(self) -> str: ... + @property + def certificateExpiryDate(self) -> str: ... + @property + def certificateStatus(self) -> str: ... + @property + def serviceLocation(self) -> str: ... + @property + def needsExplicitActivation(self) -> bool: ... + @property + def maxBatchSize(self) -> long: ... + @property + def retainVasaProviderCertificate(self) -> bool: ... + @property + def arrayIndependentProvider(self) -> bool: ... + @property + def type(self) -> str: ... + @property + def category(self) -> str: ... + @property + def priority(self) -> int: ... + @property + def failoverGroupId(self) -> str: ... + + + class RelatedStorageArray(vmodl.DynamicData): + @property + def arrayId(self) -> str: ... + @property + def active(self) -> bool: ... + @property + def manageable(self) -> bool: ... + @property + def priority(self) -> int: ... + + + class SupportedVendorModelMapping(vmodl.DynamicData): + @property + def vendorId(self) -> str: ... + @property + def modelId(self) -> str: ... + + + class Category(Enum): + internal = "internal" + external = "external" + + + class CertificateStatus(Enum): + valid = "valid" + expirySoftLimitReached = "expirysoftlimitreached" + expiryHardLimitReached = "expiryhardlimitreached" + expired = "expired" + invalid = "invalid" + + + class ProviderProfile(Enum): + ProfileBasedManagement = "profilebasedmanagement" + Replication = "replication" + + + class Type(Enum): + PERSISTENCE = "persistence" + DATASERVICE = "dataservice" + UNKNOWN = "unknown" + + + class VasaProviderProfile(Enum): + blockDevice = "blockdevice" + fileSystem = "filesystem" + capability = "capability" + + + class VasaProviderStatus(Enum): + online = "online" + offline = "offline" + syncError = "syncerror" + unknown = "unknown" + connected = "connected" + disconnected = "disconnected" + + +class VasaProviderSpec(ProviderSpec): + @property + def username(self) -> str: ... + @property + def password(self) -> str: ... + @property + def url(self) -> str: ... + @property + def certificate(self) -> str: ... + + +class AuthenticationType(sms.version.version12): ... \ No newline at end of file diff --git a/pyVmomi/sms/storage/__init__.pyi b/pyVmomi/sms/storage/__init__.pyi new file mode 100644 index 000000000..57ea76fde --- /dev/null +++ b/pyVmomi/sms/storage/__init__.pyi @@ -0,0 +1,279 @@ +from typing import List +from enum import Enum +from pyVmomi import sms, vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import long + + +class BackingConfig(vmodl.DynamicData): + @property + def thinProvisionBackingIdentifier(self) -> str: ... + @property + def deduplicationBackingIdentifier(self) -> str: ... + @property + def autoTieringEnabled(self) -> bool: ... + @property + def deduplicationEfficiency(self) -> long: ... + @property + def performanceOptimizationInterval(self) -> long: ... + + +class BackingStoragePool(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def type(self) -> str: ... + @property + def capacityInMB(self) -> long: ... + @property + def usedSpaceInMB(self) -> long: ... + + + class BackingStoragePoolType(Enum): + thinProvisioningPool = "thinprovisioningpool" + deduplicationPool = "deduplicationpool" + thinAndDeduplicationCombinedPool = "thinanddeduplicationcombinedpool" + + +class DatastoreBackingPoolMapping(vmodl.DynamicData): + @property + def datastore(self) -> List[vim.Datastore]: ... + @property + def backingStoragePool(self) -> List[BackingStoragePool]: ... + + +class DatastorePair(vmodl.DynamicData): + @property + def datastore1(self) -> vim.Datastore: ... + @property + def datastore2(self) -> vim.Datastore: ... + + +class DrsMigrationCapabilityResult(vmodl.DynamicData): + @property + def recommendedDatastorePair(self) -> List[DatastorePair]: ... + @property + def nonRecommendedDatastorePair(self) -> List[DatastorePair]: ... + + +class FaultDomainProviderMapping(vmodl.DynamicData): + @property + def activeProvider(self) -> sms.provider.Provider: ... + @property + def faultDomainId(self) -> List[vim.vm.replication.FaultDomainId]: ... + + +class FcStoragePort(StoragePort): + @property + def portWwn(self) -> str: ... + @property + def nodeWwn(self) -> str: ... + + +class FcoeStoragePort(StoragePort): + @property + def portWwn(self) -> str: ... + @property + def nodeWwn(self) -> str: ... + + +class FileSystemInfo(vmodl.DynamicData): + @property + def fileServerName(self) -> str: ... + @property + def fileSystemPath(self) -> str: ... + @property + def ipAddress(self) -> str: ... + + +class IscsiStoragePort(StoragePort): + @property + def identifier(self) -> str: ... + + +class LunHbaAssociation(vmodl.DynamicData): + @property + def canonicalName(self) -> str: ... + @property + def hba(self) -> List[vim.host.HostBusAdapter]: ... + + +class NameValuePair(vmodl.DynamicData): + @property + def parameterName(self) -> str: ... + @property + def parameterValue(self) -> str: ... + + +class StorageAlarm(vmodl.DynamicData): + @property + def alarmId(self) -> long: ... + @property + def alarmType(self) -> str: ... + @property + def containerId(self) -> str: ... + @property + def objectId(self) -> str: ... + @property + def objectType(self) -> str: ... + @property + def status(self) -> str: ... + @property + def alarmTimeStamp(self) -> datetime: ... + @property + def messageId(self) -> str: ... + @property + def parameterList(self) -> List[NameValuePair]: ... + @property + def alarmObject(self) -> object: ... + + +class StorageArray(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def vendorId(self) -> str: ... + @property + def modelId(self) -> str: ... + @property + def firmware(self) -> str: ... + @property + def alternateName(self) -> List[str]: ... + @property + def supportedBlockInterface(self) -> List[str]: ... + @property + def supportedFileSystemInterface(self) -> List[str]: ... + @property + def supportedProfile(self) -> List[str]: ... + @property + def priority(self) -> int: ... + @property + def discoverySvc(self) -> List[vim.VasaStorageArray.DiscoverySvcInfo]: ... + + + class BlockDeviceInterface(Enum): + fc = "fc" + iscsi = "iscsi" + fcoe = "fcoe" + otherBlock = "otherblock" + + + class FileSystemInterface(Enum): + nfs = "nfs" + otherFileSystem = "otherfilesystem" + + + class VasaProfile(Enum): + blockDevice = "blockdevice" + fileSystem = "filesystem" + capability = "capability" + policy = "policy" + object = "object" + statistics = "statistics" + storageDrsBlockDevice = "storagedrsblockdevice" + storageDrsFileSystem = "storagedrsfilesystem" + + +class StorageCapability(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + + +class StorageContainer(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def name(self) -> str: ... + @property + def maxVvolSizeInMB(self) -> long: ... + @property + def providerId(self) -> List[str]: ... + @property + def arrayId(self) -> List[str]: ... + @property + def vvolContainerType(self) -> str: ... + + + class VvolContainerTypeEnum(Enum): + NFS = "nfs" + NFS4x = "nfs4x" + SCSI = "scsi" + NVMe = "nvme" + + +class StorageContainerResult(vmodl.DynamicData): + @property + def storageContainer(self) -> List[StorageContainer]: ... + @property + def providerInfo(self) -> List[sms.provider.ProviderInfo]: ... + + +class StorageContainerSpec(vmodl.DynamicData): + @property + def containerId(self) -> List[str]: ... + + +class StorageFileSystem(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def info(self) -> List[FileSystemInfo]: ... + @property + def nativeSnapshotSupported(self) -> bool: ... + @property + def thinProvisioningStatus(self) -> str: ... + @property + def type(self) -> str: ... + @property + def version(self) -> str: ... + @property + def backingConfig(self) -> BackingConfig: ... + + + class FileSystemInterfaceVersion(Enum): + NFSV3_0 = "nfsv3_0" + + +class StorageLun(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def vSphereLunIdentifier(self) -> str: ... + @property + def vendorDisplayName(self) -> str: ... + @property + def capacityInMB(self) -> long: ... + @property + def usedSpaceInMB(self) -> long: ... + @property + def lunThinProvisioned(self) -> bool: ... + @property + def alternateIdentifier(self) -> List[str]: ... + @property + def drsManagementPermitted(self) -> bool: ... + @property + def thinProvisioningStatus(self) -> str: ... + @property + def backingConfig(self) -> BackingConfig: ... + + +class StoragePort(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def type(self) -> str: ... + @property + def alternateName(self) -> List[str]: ... + + +class StorageProcessor(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def alternateIdentifer(self) -> List[str]: ... \ No newline at end of file diff --git a/pyVmomi/sms/storage/replication/__init__.pyi b/pyVmomi/sms/storage/replication/__init__.pyi new file mode 100644 index 000000000..86d2cbcd6 --- /dev/null +++ b/pyVmomi/sms/storage/replication/__init__.pyi @@ -0,0 +1,320 @@ +from typing import List +from pyVmomi import DeviceGroupId, FaultDomainId, ReplicationGroupId, sms, vim, vmodl +from datetime import datetime + + +class DeviceId(vmodl.DynamicData): ... + + +class FailoverParam(vmodl.DynamicData): + @property + def isPlanned(self) -> bool: ... + @property + def checkOnly(self) -> bool: ... + @property + def replicationGroupsToFailover(self) -> List[FailoverParam.ReplicationGroupData]: ... + @property + def policyAssociations(self) -> List[FailoverParam.PolicyAssociation]: ... + + + class PolicyAssociation(vmodl.DynamicData): + @property + def id(self) -> DeviceId: ... + @property + def policyId(self) -> str: ... + @property + def datastore(self) -> vim.Datastore: ... + + + class ReplicationGroupData(vmodl.DynamicData): + @property + def groupId(self) -> ReplicationGroupId: ... + @property + def pitId(self) -> PointInTimeReplicaId: ... + + +class FailoverSuccessResult(GroupOperationResult): + @property + def newState(self) -> str: ... + @property + def pitId(self) -> PointInTimeReplicaId: ... + @property + def pitIdBeforeFailover(self) -> PointInTimeReplicaId: ... + @property + def recoveredDeviceInfo(self) -> List[FailoverSuccessResult.RecoveredDevice]: ... + @property + def timeStamp(self) -> datetime: ... + + + class RecoveredDevice(vmodl.DynamicData): + @property + def targetDeviceId(self) -> ReplicaId: ... + @property + def recoveredDeviceId(self) -> DeviceId: ... + @property + def sourceDeviceId(self) -> DeviceId: ... + @property + def info(self) -> List[str]: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def recoveredDiskInfo(self) -> List[FailoverSuccessResult.RecoveredDiskInfo]: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def warnings(self) -> List[vmodl.MethodFault]: ... + + + class RecoveredDiskInfo(vmodl.DynamicData): + @property + def deviceKey(self) -> int: ... + @property + def dsUrl(self) -> str: ... + @property + def diskPath(self) -> str: ... + + +class FaultDomainInfo(FaultDomainId): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def storageArrayId(self) -> str: ... + @property + def children(self) -> List[FaultDomainId]: ... + @property + def provider(self) -> sms.provider.Provider: ... + + +class GroupErrorResult(GroupOperationResult): + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class GroupInfo(vmodl.DynamicData): + @property + def groupId(self) -> ReplicationGroupId: ... + + +class GroupOperationResult(vmodl.DynamicData): + @property + def groupId(self) -> ReplicationGroupId: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + + +class PointInTimeReplicaId(vmodl.DynamicData): + @property + def id(self) -> str: ... + + +class PromoteParam(vmodl.DynamicData): + @property + def isPlanned(self) -> bool: ... + @property + def replicationGroupsToPromote(self) -> List[ReplicationGroupId]: ... + + +class QueryPointInTimeReplicaParam(vmodl.DynamicData): + @property + def replicaTimeQueryParam(self) -> QueryPointInTimeReplicaParam.ReplicaQueryIntervalParam: ... + @property + def pitName(self) -> str: ... + @property + def tags(self) -> List[str]: ... + @property + def preferDetails(self) -> bool: ... + + + class ReplicaQueryIntervalParam(vmodl.DynamicData): + @property + def fromDate(self) -> datetime: ... + @property + def toDate(self) -> datetime: ... + @property + def number(self) -> int: ... + + +class QueryPointInTimeReplicaSuccessResult(GroupOperationResult): + @property + def replicaInfo(self) -> List[QueryPointInTimeReplicaSuccessResult.PointInTimeReplicaInfo]: ... + + + class PointInTimeReplicaInfo(vmodl.DynamicData): + @property + def id(self) -> PointInTimeReplicaId: ... + @property + def pitName(self) -> str: ... + @property + def timeStamp(self) -> datetime: ... + @property + def tags(self) -> List[str]: ... + + +class QueryPointInTimeReplicaSummaryResult(GroupOperationResult): + @property + def intervalResults(self) -> List[QueryPointInTimeReplicaSummaryResult.ReplicaIntervalQueryResult]: ... + + + class ReplicaIntervalQueryResult(vmodl.DynamicData): + @property + def fromDate(self) -> datetime: ... + @property + def toDate(self) -> datetime: ... + @property + def number(self) -> int: ... + + +class QueryReplicationGroupSuccessResult(GroupOperationResult): + @property + def rgInfo(self) -> GroupInfo: ... + + +class QueryReplicationPeerResult(vmodl.DynamicData): + @property + def sourceDomain(self) -> FaultDomainId: ... + @property + def targetDomain(self) -> List[FaultDomainId]: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + + +class RecoveredTargetGroupMemberInfo(TargetGroupMemberInfo): + @property + def recoveredDeviceId(self) -> DeviceId: ... + + +class ReplicaId(vmodl.DynamicData): + @property + def id(self) -> str: ... + + +class ReverseReplicationSuccessResult(GroupOperationResult): + @property + def newGroupId(self) -> DeviceGroupId: ... + + +class SourceGroupInfo(GroupInfo): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def state(self) -> str: ... + @property + def replica(self) -> List[SourceGroupInfo.ReplicationTargetInfo]: ... + @property + def memberInfo(self) -> List[SourceGroupMemberInfo]: ... + + + class ReplicationTargetInfo(vmodl.DynamicData): + @property + def targetGroupId(self) -> ReplicationGroupId: ... + @property + def replicationAgreementDescription(self) -> str: ... + + +class SourceGroupMemberInfo(vmodl.DynamicData): + @property + def deviceId(self) -> DeviceId: ... + @property + def targetId(self) -> List[SourceGroupMemberInfo.TargetDeviceId]: ... + + + class TargetDeviceId(vmodl.DynamicData): + @property + def domainId(self) -> FaultDomainId: ... + @property + def deviceId(self) -> ReplicaId: ... + + +class SyncReplicationGroupSuccessResult(GroupOperationResult): + @property + def timeStamp(self) -> datetime: ... + @property + def pitId(self) -> PointInTimeReplicaId: ... + @property + def pitName(self) -> str: ... + + +class TargetGroupInfo(GroupInfo): + @property + def sourceInfo(self) -> TargetGroupInfo.TargetToSourceInfo: ... + @property + def state(self) -> str: ... + @property + def devices(self) -> List[TargetGroupMemberInfo]: ... + @property + def isPromoteCapable(self) -> bool: ... + + + class TargetToSourceInfo(vmodl.DynamicData): + @property + def sourceGroupId(self) -> ReplicationGroupId: ... + @property + def replicationAgreementDescription(self) -> str: ... + + +class TargetGroupMemberInfo(vmodl.DynamicData): + @property + def replicaId(self) -> ReplicaId: ... + @property + def sourceId(self) -> DeviceId: ... + @property + def targetDatastore(self) -> vim.Datastore: ... + + +class TestFailoverParam(FailoverParam): ... + + +class VVolId(DeviceId): + @property + def id(self) -> str: ... + + +class VirtualDiskId(DeviceId): + @property + def diskId(self) -> str: ... + + +class VirtualDiskKey(DeviceId): + @property + def vmInstanceUUID(self) -> str: ... + @property + def deviceKey(self) -> int: ... + + +class VirtualDiskMoId(DeviceId): + @property + def vcUuid(self) -> str: ... + @property + def vmMoid(self) -> str: ... + @property + def diskKey(self) -> str: ... + + +class VirtualMachineFilePath(VirtualMachineId): + @property + def vcUuid(self) -> str: ... + @property + def dsUrl(self) -> str: ... + @property + def vmxPath(self) -> str: ... + + +class VirtualMachineId(DeviceId): ... + + +class VirtualMachineMoId(VirtualMachineId): + @property + def vcUuid(self) -> str: ... + @property + def vmMoid(self) -> str: ... + + +class VirtualMachineUUID(VirtualMachineId): + @property + def vmInstanceUUID(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/__init__.pyi b/pyVmomi/vim/__init__.pyi new file mode 100644 index 000000000..2939482dd --- /dev/null +++ b/pyVmomi/vim/__init__.pyi @@ -0,0 +1,4710 @@ +from typing import List +from enum import Enum +from pyVmomi import HbrManager, OvfConsumer, storageDrs, vApp, vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedMethod, ManagedObject, NoneType, byte, double, long +from . import alarm, cluster, dvs, encryption, event, ext, host, option, profile, scheduler, tenant, vcha, view, vm, vsan, vslm + + +class AuthorizationManager(ManagedObject): + @property + def privilegeList(self) -> List[AuthorizationManager.Privilege]: ... + @property + def roleList(self) -> List[AuthorizationManager.Role]: ... + @property + def description(self) -> AuthorizationDescription: ... + def AddRole(self, name: str, privIds: List[str]) -> int: ... + def RemoveRole(self, roleId: int, failIfUsed: bool) -> NoneType: ... + def UpdateRole(self, roleId: int, newName: str, privIds: List[str]) -> NoneType: ... + def MergePermissions(self, srcRoleId: int, dstRoleId: int) -> NoneType: ... + def RetrieveRolePermissions(self, roleId: int) -> List[AuthorizationManager.Permission]: ... + def RetrieveEntityPermissions(self, entity: ManagedEntity, inherited: bool) -> List[AuthorizationManager.Permission]: ... + def RetrieveAllPermissions(self) -> List[AuthorizationManager.Permission]: ... + def SetEntityPermissions(self, entity: ManagedEntity, permission: List[AuthorizationManager.Permission]) -> NoneType: ... + def ResetEntityPermissions(self, entity: ManagedEntity, permission: List[AuthorizationManager.Permission]) -> NoneType: ... + def RemoveEntityPermission(self, entity: ManagedEntity, user: str, isGroup: bool) -> NoneType: ... + def HasPrivilegeOnEntity(self, entity: ManagedEntity, sessionId: str, privId: List[str]) -> List[bool]: ... + def HasPrivilegeOnEntities(self, entity: List[ManagedEntity], sessionId: str, privId: List[str]) -> List[AuthorizationManager.EntityPrivilege]: ... + def HasUserPrivilegeOnEntities(self, entities: List[ManagedObject], userName: str, privId: List[str]) -> List[AuthorizationManager.EntityPrivilege]: ... + def FetchUserPrivilegeOnEntities(self, entities: List[ManagedEntity], userName: str) -> List[AuthorizationManager.UserPrivilegeResult]: ... + + + class EntityPrivilege(vmodl.DynamicData): + @property + def entity(self) -> ManagedEntity: ... + @property + def privAvailability(self) -> List[AuthorizationManager.PrivilegeAvailability]: ... + + + class Permission(vmodl.DynamicData): + @property + def entity(self) -> ManagedEntity: ... + @property + def principal(self) -> str: ... + @property + def group(self) -> bool: ... + @property + def roleId(self) -> int: ... + @property + def propagate(self) -> bool: ... + + + class Privilege(vmodl.DynamicData): + @property + def privId(self) -> str: ... + @property + def onParent(self) -> bool: ... + @property + def name(self) -> str: ... + @property + def privGroupName(self) -> str: ... + + + class PrivilegeAvailability(vmodl.DynamicData): + @property + def privId(self) -> str: ... + @property + def isGranted(self) -> bool: ... + + + class Role(vmodl.DynamicData): + @property + def roleId(self) -> int: ... + @property + def system(self) -> bool: ... + @property + def name(self) -> str: ... + @property + def info(self) -> Description: ... + @property + def privilege(self) -> List[str]: ... + + + class UserPrivilegeResult(vmodl.DynamicData): + @property + def entity(self) -> ManagedEntity: ... + @property + def privileges(self) -> List[str]: ... + + +class CertificateManager(ManagedObject): + def RefreshCACertificatesAndCRLs(self, host: List[HostSystem]) -> Task: ... + def RefreshCertificates(self, host: List[HostSystem]) -> Task: ... + def RevokeCertificates(self, host: List[HostSystem]) -> Task: ... + + +class ClusterComputeResource(ComputeResource): + @property + def configuration(self) -> cluster.ConfigInfo: ... + @property + def recommendation(self) -> List[cluster.Recommendation]: ... + @property + def drsRecommendation(self) -> List[cluster.DrsRecommendation]: ... + @property + def summaryEx(self) -> ClusterComputeResource.Summary: ... + @property + def hciConfig(self) -> ClusterComputeResource.HCIConfigInfo: ... + @property + def migrationHistory(self) -> List[cluster.DrsMigration]: ... + @property + def actionHistory(self) -> List[cluster.ActionHistory]: ... + @property + def drsFault(self) -> List[cluster.DrsFaults]: ... + def ConfigureHCI(self, clusterSpec: ClusterComputeResource.HCIConfigSpec, hostInputs: List[ClusterComputeResource.HostConfigurationInput]) -> Task: ... + def ExtendHCI(self, hostInputs: List[ClusterComputeResource.HostConfigurationInput], vSanConfigSpec: SDDCBase) -> Task: ... + def AbandonHciWorkflow(self) -> NoneType: ... + def ValidateHCIConfiguration(self, hciConfigSpec: ClusterComputeResource.HCIConfigSpec, hosts: List[HostSystem]) -> List[ClusterComputeResource.ValidationResultBase]: ... + def Reconfigure(self, spec: cluster.ConfigSpec, modify: bool) -> Task: ... + def ApplyRecommendation(self, key: str) -> NoneType: ... + def CancelRecommendation(self, key: str) -> NoneType: ... + def RecommendHostsForVm(self, vm: VirtualMachine, pool: ResourcePool) -> List[cluster.HostRecommendation]: ... + def AddHost(self, spec: host.ConnectSpec, asConnected: bool, resourcePool: ResourcePool, license: str) -> Task: ... + def MoveInto(self, host: List[HostSystem]) -> Task: ... + def MoveHostInto(self, host: HostSystem, resourcePool: ResourcePool) -> Task: ... + def RefreshRecommendation(self) -> NoneType: ... + def EvcManager(self) -> cluster.EVCManager: ... + def RetrieveDasAdvancedRuntimeInfo(self) -> cluster.DasAdvancedRuntimeInfo: ... + def EnterMaintenanceMode(self, host: List[HostSystem], option: List[option.OptionValue]) -> cluster.EnterMaintenanceResult: ... + def PlaceVm(self, placementSpec: cluster.PlacementSpec) -> cluster.PlacementResult: ... + def FindRulesForVm(self, vm: VirtualMachine) -> List[cluster.RuleInfo]: ... + def StampAllRulesWithUuid(self) -> Task: ... + def GetResourceUsage(self) -> cluster.ResourceUsageSummary: ... + def SetCryptoMode(self, cryptoMode: str) -> NoneType: ... + def GetSystemVMsRestrictedDatastores(self) -> List[Datastore]: ... + + + class ClusterConfigResult(vmodl.DynamicData): + @property + def failedHosts(self) -> List[Folder.FailedHostResult]: ... + @property + def configuredHosts(self) -> List[HostSystem]: ... + + + class DVSConfigurationValidation(ClusterComputeResource.ValidationResultBase): + @property + def isDvsValid(self) -> bool: ... + @property + def isDvpgValid(self) -> bool: ... + + + class DVSSetting(vmodl.DynamicData): + @property + def dvSwitch(self) -> DistributedVirtualSwitch: ... + @property + def pnicDevices(self) -> List[str]: ... + @property + def dvPortgroupSetting(self) -> List[ClusterComputeResource.DVSSetting.DVPortgroupToServiceMapping]: ... + + + class DVPortgroupToServiceMapping(vmodl.DynamicData): + @property + def dvPortgroup(self) -> dvs.DistributedVirtualPortgroup: ... + @property + def service(self) -> str: ... + + + class DvsProfile(vmodl.DynamicData): + @property + def dvsName(self) -> str: ... + @property + def dvSwitch(self) -> DistributedVirtualSwitch: ... + @property + def pnicDevices(self) -> List[str]: ... + @property + def dvPortgroupMapping(self) -> List[ClusterComputeResource.DvsProfile.DVPortgroupSpecToServiceMapping]: ... + + + class DVPortgroupSpecToServiceMapping(vmodl.DynamicData): + @property + def dvPortgroupSpec(self) -> dvs.DistributedVirtualPortgroup.ConfigSpec: ... + @property + def dvPortgroup(self) -> dvs.DistributedVirtualPortgroup: ... + @property + def service(self) -> str: ... + + + class HCIConfigInfo(vmodl.DynamicData): + @property + def workflowState(self) -> str: ... + @property + def dvsSetting(self) -> List[ClusterComputeResource.DVSSetting]: ... + @property + def configuredHosts(self) -> List[HostSystem]: ... + @property + def hostConfigProfile(self) -> ClusterComputeResource.HostConfigurationProfile: ... + + + class HCIConfigSpec(vmodl.DynamicData): + @property + def dvsProf(self) -> List[ClusterComputeResource.DvsProfile]: ... + @property + def hostConfigProfile(self) -> ClusterComputeResource.HostConfigurationProfile: ... + @property + def vSanConfigSpec(self) -> SDDCBase: ... + @property + def vcProf(self) -> ClusterComputeResource.VCProfile: ... + + + class HostConfigurationInput(vmodl.DynamicData): + @property + def host(self) -> HostSystem: ... + @property + def hostVmkNics(self) -> List[ClusterComputeResource.HostVmkNicInfo]: ... + @property + def allowedInNonMaintenanceMode(self) -> bool: ... + + + class HostConfigurationProfile(vmodl.DynamicData): + @property + def dateTimeConfig(self) -> host.DateTimeConfig: ... + @property + def lockdownMode(self) -> host.HostAccessManager.LockdownMode: ... + + + class HostConfigurationValidation(ClusterComputeResource.ValidationResultBase): + @property + def host(self) -> HostSystem: ... + @property + def isDvsSettingValid(self) -> bool: ... + @property + def isVmknicSettingValid(self) -> bool: ... + @property + def isNtpSettingValid(self) -> bool: ... + @property + def isLockdownModeValid(self) -> bool: ... + + + class HostVmkNicInfo(vmodl.DynamicData): + @property + def nicSpec(self) -> host.VirtualNic.Specification: ... + @property + def service(self) -> str: ... + + + class Summary(ComputeResource.Summary): + @property + def currentFailoverLevel(self) -> int: ... + @property + def admissionControlInfo(self) -> cluster.DasAdmissionControlInfo: ... + @property + def numVmotions(self) -> int: ... + @property + def targetBalance(self) -> int: ... + @property + def currentBalance(self) -> int: ... + @property + def drsScore(self) -> int: ... + @property + def numVmsPerDrsScoreBucket(self) -> List[int]: ... + @property + def usageSummary(self) -> cluster.UsageSummary: ... + @property + def currentEVCModeKey(self) -> str: ... + @property + def currentEVCGraphicsModeKey(self) -> str: ... + @property + def dasData(self) -> cluster.DasData: ... + @property + def clusterMaintenanceModeStatus(self) -> str: ... + @property + def vcsHealthStatus(self) -> str: ... + @property + def vcsSlots(self) -> List[ClusterComputeResource.VcsSlots]: ... + + + class QuickStats(vmodl.DynamicData): + @property + def overallCpuUsage(self) -> long: ... + @property + def overallCpuDemand(self) -> long: ... + @property + def guestMemoryUsage(self) -> long: ... + @property + def hostMemoryUsage(self) -> long: ... + @property + def distributedCpuEntitlement(self) -> long: ... + @property + def distributedMemoryEntitlement(self) -> long: ... + @property + def staticCpuEntitlement(self) -> int: ... + @property + def staticMemoryEntitlement(self) -> int: ... + @property + def privateMemory(self) -> long: ... + @property + def sharedMemory(self) -> long: ... + @property + def swappedMemory(self) -> long: ... + @property + def balloonedMemory(self) -> long: ... + @property + def overheadMemory(self) -> long: ... + @property + def consumedOverheadMemory(self) -> long: ... + @property + def compressedMemory(self) -> long: ... + + + class MaintenanceModeState(Enum): + normal = "normal" + enteringMaintenance = "enteringmaintenance" + inMaintenance = "inmaintenance" + + + class VCProfile(vmodl.DynamicData): + @property + def clusterSpec(self) -> cluster.ConfigSpecEx: ... + @property + def evcModeKey(self) -> str: ... + @property + def evcGraphicsModeKey(self) -> str: ... + + + class ValidationResultBase(vmodl.DynamicData): + @property + def info(self) -> List[vmodl.LocalizableMessage]: ... + + + class VcsSlots(vmodl.DynamicData): + @property + def systemId(self) -> str: ... + @property + def host(self) -> HostSystem: ... + @property + def datastore(self) -> List[Datastore]: ... + @property + def totalSlots(self) -> int: ... + + + class HCIWorkflowState(Enum): + in_progress = "in_progress" + done = "done" + invalid = "invalid" + + + class VcsHealthStatus(Enum): + healthy = "healthy" + degraded = "degraded" + nonhealthy = "nonhealthy" + + +class ComputeResource(ManagedEntity): + @property + def resourcePool(self) -> ResourcePool: ... + @property + def host(self) -> List[HostSystem]: ... + @property + def datastore(self) -> List[Datastore]: ... + @property + def network(self) -> List[Network]: ... + @property + def summary(self) -> ComputeResource.Summary: ... + @property + def environmentBrowser(self) -> EnvironmentBrowser: ... + @property + def configurationEx(self) -> ComputeResource.ConfigInfo: ... + @property + def lifecycleManaged(self) -> bool: ... + @property + def configManagerEnabled(self) -> bool: ... + def ReconfigureEx(self, spec: ComputeResource.ConfigSpec, modify: bool) -> Task: ... + + + class ConfigInfo(vmodl.DynamicData): + @property + def vmSwapPlacement(self) -> str: ... + @property + def spbmEnabled(self) -> bool: ... + @property + def defaultHardwareVersionKey(self) -> str: ... + @property + def maximumHardwareVersionKey(self) -> str: ... + + + class ConfigSpec(vmodl.DynamicData): + @property + def vmSwapPlacement(self) -> str: ... + @property + def spbmEnabled(self) -> bool: ... + @property + def defaultHardwareVersionKey(self) -> str: ... + @property + def desiredSoftwareSpec(self) -> DesiredSoftwareSpec: ... + @property + def maximumHardwareVersionKey(self) -> str: ... + @property + def enableConfigManager(self) -> bool: ... + + + class HostSPBMLicenseInfo(vmodl.DynamicData): + @property + def host(self) -> HostSystem: ... + @property + def licenseState(self) -> ComputeResource.HostSPBMLicenseInfo.HostSPBMLicenseState: ... + + + class HostSPBMLicenseState(Enum): + licensed = "licensed" + unlicensed = "unlicensed" + unknown = "unknown" + + +class CustomFieldsManager(ManagedObject): + @property + def field(self) -> List[CustomFieldsManager.FieldDef]: ... + def AddFieldDefinition(self, name: str, moType: type, fieldDefPolicy: PrivilegePolicyDef, fieldPolicy: PrivilegePolicyDef) -> CustomFieldsManager.FieldDef: ... + def RemoveFieldDefinition(self, key: int) -> NoneType: ... + def RenameFieldDefinition(self, key: int, name: str) -> NoneType: ... + def SetField(self, entity: ManagedEntity, key: int, value: str) -> NoneType: ... + + + class FieldDef(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def name(self) -> str: ... + @property + def type(self) -> type: ... + @property + def managedObjectType(self) -> type: ... + @property + def fieldDefPrivileges(self) -> PrivilegePolicyDef: ... + @property + def fieldInstancePrivileges(self) -> PrivilegePolicyDef: ... + + + class StringValue(CustomFieldsManager.Value): + @property + def value(self) -> str: ... + + + class Value(vmodl.DynamicData): + @property + def key(self) -> int: ... + + +class CustomizationSpecManager(ManagedObject): + @property + def info(self) -> List[CustomizationSpecInfo]: ... + @property + def encryptionKey(self) -> List[byte]: ... + def Exists(self, name: str) -> bool: ... + def Get(self, name: str) -> CustomizationSpecItem: ... + def Create(self, item: CustomizationSpecItem) -> NoneType: ... + def Overwrite(self, item: CustomizationSpecItem) -> NoneType: ... + def Delete(self, name: str) -> NoneType: ... + def Duplicate(self, name: str, newName: str) -> NoneType: ... + def Rename(self, name: str, newName: str) -> NoneType: ... + def SpecItemToXml(self, item: CustomizationSpecItem) -> str: ... + def XmlToSpecItem(self, specItemXml: str) -> CustomizationSpecItem: ... + def CheckResources(self, guestOs: str) -> NoneType: ... + + +class Datacenter(ManagedEntity): + @property + def vmFolder(self) -> Folder: ... + @property + def hostFolder(self) -> Folder: ... + @property + def datastoreFolder(self) -> Folder: ... + @property + def networkFolder(self) -> Folder: ... + @property + def datastore(self) -> List[Datastore]: ... + @property + def network(self) -> List[Network]: ... + @property + def configuration(self) -> Datacenter.ConfigInfo: ... + def BatchQueryConnectInfo(self, hostSpecs: List[host.ConnectSpec]) -> List[Datacenter.BasicConnectInfo]: ... + def QueryConnectionInfo(self, hostname: str, port: int, username: str, password: str, sslThumbprint: str) -> host.ConnectInfo: ... + def QueryConnectionInfoViaSpec(self, spec: host.ConnectSpec) -> host.ConnectInfo: ... + def PowerOnVm(self, vm: List[VirtualMachine], option: List[option.OptionValue]) -> Task: ... + def QueryConfigOptionDescriptor(self) -> List[vm.ConfigOptionDescriptor]: ... + def Reconfigure(self, spec: Datacenter.ConfigSpec, modify: bool) -> Task: ... + + + class BasicConnectInfo(vmodl.DynamicData): + @property + def hostname(self) -> str: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def serverIp(self) -> str: ... + @property + def numVm(self) -> int: ... + @property + def numPoweredOnVm(self) -> int: ... + @property + def hostProductInfo(self) -> AboutInfo: ... + @property + def hardwareVendor(self) -> str: ... + @property + def hardwareModel(self) -> str: ... + + +class Datastore(ManagedEntity): + @property + def info(self) -> Datastore.Info: ... + @property + def summary(self) -> Datastore.Summary: ... + @property + def host(self) -> List[Datastore.HostMount]: ... + @property + def vm(self) -> List[VirtualMachine]: ... + @property + def browser(self) -> host.DatastoreBrowser: ... + @property + def capability(self) -> Datastore.Capability: ... + @property + def iormConfiguration(self) -> StorageResourceManager.IORMConfigInfo: ... + def Refresh(self) -> NoneType: ... + def RefreshStorageInfo(self) -> NoneType: ... + def UpdateVirtualMachineFiles(self, mountPathDatastoreMapping: List[Datastore.MountPathDatastorePair]) -> Task: ... + def RenameDatastore(self, newName: str) -> NoneType: ... + def DestroyDatastore(self) -> NoneType: ... + def EnterMaintenanceMode(self) -> storageDrs.StoragePlacementResult: ... + def ExitMaintenanceMode(self) -> Task: ... + def IsClusteredVmdkEnabled(self) -> bool: ... + def UpdateVVolVirtualMachineFiles(self, failoverPair: List[Datastore.VVolContainerFailoverPair]) -> Task: ... + + + class HostMount(vmodl.DynamicData): + @property + def key(self) -> HostSystem: ... + @property + def mountInfo(self) -> host.MountInfo: ... + + + class Info(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def url(self) -> str: ... + @property + def freeSpace(self) -> long: ... + @property + def maxFileSize(self) -> long: ... + @property + def maxVirtualDiskCapacity(self) -> long: ... + @property + def maxMemoryFileSize(self) -> long: ... + @property + def timestamp(self) -> datetime: ... + @property + def containerId(self) -> str: ... + @property + def aliasOf(self) -> str: ... + + + class MountPathDatastorePair(vmodl.DynamicData): + @property + def oldMountPath(self) -> str: ... + @property + def datastore(self) -> Datastore: ... + + + class VVolContainerFailoverPair(vmodl.DynamicData): + @property + def srcContainer(self) -> str: ... + @property + def tgtContainer(self) -> str: ... + @property + def vvolMapping(self) -> List[KeyValue]: ... + + + class Accessible(Enum): + True + False + + +class DatastoreNamespaceManager(ManagedObject): + def CreateDirectory(self, datastore: Datastore, displayName: str, policy: str, size: long) -> str: ... + def DeleteDirectory(self, datacenter: Datacenter, datastorePath: str) -> NoneType: ... + def ConvertNamespacePathToUuidPath(self, datacenter: Datacenter, namespaceUrl: str) -> str: ... + def IncreaseDirectorySize(self, datacenter: Datacenter, stableName: str, size: long) -> NoneType: ... + def QueryDirectoryInfo(self, datacenter: Datacenter, stableName: str) -> DatastoreNamespaceManager.DirectoryInfo: ... + + + class DirectoryInfo(vmodl.DynamicData): + @property + def capacity(self) -> long: ... + @property + def used(self) -> long: ... + + +class DiagnosticManager(ManagedObject): + def QueryDescriptions(self, host: HostSystem) -> List[DiagnosticManager.LogDescriptor]: ... + def Browse(self, host: HostSystem, key: str, start: int, lines: int) -> DiagnosticManager.LogHeader: ... + def GenerateLogBundles(self, includeDefault: bool, host: List[HostSystem]) -> Task: ... + def FetchAuditRecords(self, token: str) -> DiagnosticManager.AuditRecordResult: ... + def EmitSyslogMark(self, message: str) -> NoneType: ... + + + class AuditRecordResult(vmodl.DynamicData): + @property + def records(self) -> List[str]: ... + @property + def nextToken(self) -> str: ... + + + class BundleInfo(vmodl.DynamicData): + @property + def system(self) -> HostSystem: ... + @property + def url(self) -> str: ... + + + class LogDescriptor(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def fileName(self) -> str: ... + @property + def creator(self) -> str: ... + @property + def format(self) -> str: ... + @property + def mimeType(self) -> str: ... + @property + def info(self) -> Description: ... + + + class Creator(Enum): + vpxd = "vpxd" + vpxa = "vpxa" + hostd = "hostd" + serverd = "serverd" + install = "install" + vpxClient = "vpxclient" + recordLog = "recordlog" + + + class Format(Enum): + plain = "plain" + + + class LogHeader(vmodl.DynamicData): + @property + def lineStart(self) -> int: ... + @property + def lineEnd(self) -> int: ... + @property + def lineText(self) -> List[str]: ... + + +class DistributedVirtualSwitch(ManagedEntity): + @property + def uuid(self) -> str: ... + @property + def capability(self) -> DistributedVirtualSwitch.Capability: ... + @property + def summary(self) -> DistributedVirtualSwitch.Summary: ... + @property + def config(self) -> DistributedVirtualSwitch.ConfigInfo: ... + @property + def networkResourcePool(self) -> List[dvs.NetworkResourcePool]: ... + @property + def portgroup(self) -> List[dvs.DistributedVirtualPortgroup]: ... + @property + def runtime(self) -> DistributedVirtualSwitch.RuntimeInfo: ... + def FetchPortKeys(self, criteria: dvs.PortCriteria) -> List[str]: ... + def FetchPorts(self, criteria: dvs.PortCriteria) -> List[dvs.DistributedVirtualPort]: ... + def QueryUsedVlanId(self) -> List[int]: ... + def Reconfigure(self, spec: DistributedVirtualSwitch.ConfigSpec) -> Task: ... + def PerformProductSpecOperation(self, operation: str, productSpec: dvs.ProductSpec) -> Task: ... + def Merge(self, dvs: DistributedVirtualSwitch) -> Task: ... + def AddPortgroups(self, spec: List[dvs.DistributedVirtualPortgroup.ConfigSpec]) -> Task: ... + def MovePort(self, portKey: List[str], destinationPortgroupKey: str) -> Task: ... + def UpdateCapability(self, capability: DistributedVirtualSwitch.Capability) -> NoneType: ... + def ReconfigurePort(self, port: List[dvs.DistributedVirtualPort.ConfigSpec]) -> Task: ... + def RefreshPortState(self, portKeys: List[str]) -> NoneType: ... + def RectifyHost(self, hosts: List[HostSystem]) -> Task: ... + def UpdateNetworkResourcePool(self, configSpec: List[dvs.NetworkResourcePool.ConfigSpec]) -> NoneType: ... + def AddNetworkResourcePool(self, configSpec: List[dvs.NetworkResourcePool.ConfigSpec]) -> NoneType: ... + def RemoveNetworkResourcePool(self, key: List[str]) -> NoneType: ... + def ReconfigureVmVnicNetworkResourcePool(self, configSpec: List[dvs.VmVnicNetworkResourcePool.ConfigSpec]) -> Task: ... + def EnableNetworkResourceManagement(self, enable: bool) -> NoneType: ... + def Rollback(self, entityBackup: dvs.EntityBackup.Config) -> Task: ... + def AddPortgroup(self, spec: dvs.DistributedVirtualPortgroup.ConfigSpec) -> Task: ... + def UpdateHealthCheckConfig(self, healthCheckConfig: List[DistributedVirtualSwitch.HealthCheckConfig]) -> Task: ... + def LookupPortgroup(self, portgroupKey: str) -> dvs.DistributedVirtualPortgroup: ... + + + class BackupRestoreCapability(vmodl.DynamicData): + @property + def backupRestoreSupported(self) -> bool: ... + + + class ContactInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def contact(self) -> str: ... + + + class CreateSpec(vmodl.DynamicData): + @property + def configSpec(self) -> DistributedVirtualSwitch.ConfigSpec: ... + @property + def productInfo(self) -> dvs.ProductSpec: ... + @property + def capability(self) -> DistributedVirtualSwitch.Capability: ... + + + class FeatureCapability(vmodl.DynamicData): + @property + def networkResourceManagementSupported(self) -> bool: ... + @property + def vmDirectPathGen2Supported(self) -> bool: ... + @property + def nicTeamingPolicy(self) -> List[str]: ... + @property + def networkResourcePoolHighShareValue(self) -> int: ... + @property + def networkResourceManagementCapability(self) -> DistributedVirtualSwitch.NetworkResourceManagementCapability: ... + @property + def healthCheckCapability(self) -> DistributedVirtualSwitch.HealthCheckFeatureCapability: ... + @property + def rollbackCapability(self) -> DistributedVirtualSwitch.RollbackCapability: ... + @property + def backupRestoreCapability(self) -> DistributedVirtualSwitch.BackupRestoreCapability: ... + @property + def networkFilterSupported(self) -> bool: ... + @property + def macLearningSupported(self) -> bool: ... + + + class HealthCheckConfig(vmodl.DynamicData): + @property + def enable(self) -> bool: ... + @property + def interval(self) -> int: ... + + + class HealthCheckFeatureCapability(vmodl.DynamicData): ... + + + class HostInfrastructureTrafficResource(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def description(self) -> str: ... + @property + def allocationInfo(self) -> DistributedVirtualSwitch.HostInfrastructureTrafficResource.ResourceAllocation: ... + + + class ResourceAllocation(vmodl.DynamicData): + @property + def limit(self) -> long: ... + @property + def shares(self) -> SharesInfo: ... + @property + def reservation(self) -> long: ... + + + class NameArrayUplinkPortPolicy(DistributedVirtualSwitch.UplinkPortPolicy): + @property + def uplinkPortName(self) -> List[str]: ... + + + class NetworkResourceManagementCapability(vmodl.DynamicData): + @property + def networkResourceManagementSupported(self) -> bool: ... + @property + def networkResourcePoolHighShareValue(self) -> int: ... + @property + def qosSupported(self) -> bool: ... + @property + def userDefinedNetworkResourcePoolsSupported(self) -> bool: ... + @property + def networkResourceControlVersion3Supported(self) -> bool: ... + @property + def userDefinedInfraTrafficPoolSupported(self) -> bool: ... + + + class ResourceRuntimeInfo(vmodl.DynamicData): + @property + def capacity(self) -> int: ... + @property + def usage(self) -> int: ... + @property + def available(self) -> int: ... + @property + def allocatedResource(self) -> List[dvs.VmVnicNetworkResourcePool.VnicAllocatedResource]: ... + @property + def vmVnicNetworkResourcePoolRuntime(self) -> List[dvs.VmVnicNetworkResourcePool.RuntimeInfo]: ... + + + class RollbackCapability(vmodl.DynamicData): + @property + def rollbackSupported(self) -> bool: ... + + + class RuntimeInfo(vmodl.DynamicData): + @property + def hostMemberRuntime(self) -> List[dvs.HostMember.RuntimeInfo]: ... + @property + def resourceRuntimeInfo(self) -> DistributedVirtualSwitch.ResourceRuntimeInfo: ... + + + class SwitchPolicy(vmodl.DynamicData): + @property + def autoPreInstallAllowed(self) -> bool: ... + @property + def autoUpgradeAllowed(self) -> bool: ... + @property + def partialUpgradeAllowed(self) -> bool: ... + + + class UplinkPortPolicy(vmodl.DynamicData): ... + + + class HostInfrastructureTrafficClass(Enum): + management = "management" + faultTolerance = "faulttolerance" + vmotion = "vmotion" + virtualMachine = "virtualmachine" + iSCSI = "iscsi" + nfs = "nfs" + hbr = "hbr" + vsan = "vsan" + vdp = "vdp" + backupNfc = "backupnfc" + nvmetcp = "nvmetcp" + + + class NetworkResourceControlVersion(Enum): + version2 = "version2" + version3 = "version3" + + + class NicTeamingPolicyMode(Enum): + loadbalance_ip = "loadbalance_ip" + loadbalance_srcmac = "loadbalance_srcmac" + loadbalance_srcid = "loadbalance_srcid" + failover_explicit = "failover_explicit" + loadbalance_loadbased = "loadbalance_loadbased" + + + class ProductSpecOperationType(Enum): + preInstall = "preinstall" + upgrade = "upgrade" + notifyAvailableUpgrade = "notifyavailableupgrade" + proceedWithUpgrade = "proceedwithupgrade" + updateBundleInfo = "updatebundleinfo" + + +class EnvironmentBrowser(ManagedObject): + @property + def datastoreBrowser(self) -> host.DatastoreBrowser: ... + def QueryConfigOptionDescriptor(self) -> List[vm.ConfigOptionDescriptor]: ... + def QueryConfigOption(self, key: str, host: HostSystem) -> vm.ConfigOption: ... + def QueryConfigOptionEx(self, spec: EnvironmentBrowser.ConfigOptionQuerySpec) -> vm.ConfigOption: ... + def QueryConfigTarget(self, host: HostSystem) -> vm.ConfigTarget: ... + def QueryTargetCapabilities(self, host: HostSystem) -> host.Capability: ... + + + class ConfigOptionQuerySpec(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def host(self) -> HostSystem: ... + @property + def guestId(self) -> List[str]: ... + + +class ExtensibleManagedObject(ManagedObject): + @property + def value(self) -> List[CustomFieldsManager.Value]: ... + @property + def availableField(self) -> List[CustomFieldsManager.FieldDef]: ... + def SetCustomValue(self, key: str, value: str) -> NoneType: ... + + +class ExtensionManager(ManagedObject): + @property + def extensionList(self) -> List[Extension]: ... + def UnregisterExtension(self, extensionKey: str) -> NoneType: ... + def FindExtension(self, extensionKey: str) -> Extension: ... + def RegisterExtension(self, extension: Extension) -> NoneType: ... + def UpdateExtension(self, extension: Extension) -> NoneType: ... + def GetPublicKey(self) -> str: ... + def SetPublicKey(self, extensionKey: str, publicKey: str) -> NoneType: ... + def SetCertificate(self, extensionKey: str, certificatePem: str) -> NoneType: ... + def QueryManagedBy(self, extensionKey: str) -> List[ManagedEntity]: ... + def QueryExtensionIpAllocationUsage(self, extensionKeys: List[str]) -> List[ExtensionManager.IpAllocationUsage]: ... + + + class IpAllocationUsage(vmodl.DynamicData): + @property + def extensionKey(self) -> str: ... + @property + def numAddresses(self) -> int: ... + + +class FileManager(ManagedObject): + def MoveFile(self, sourceName: str, sourceDatacenter: Datacenter, destinationName: str, destinationDatacenter: Datacenter, force: bool) -> Task: ... + def CopyFile(self, sourceName: str, sourceDatacenter: Datacenter, destinationName: str, destinationDatacenter: Datacenter, force: bool) -> Task: ... + def DeleteFile(self, name: str, datacenter: Datacenter) -> Task: ... + def MakeDirectory(self, name: str, datacenter: Datacenter, createParentDirectories: bool) -> NoneType: ... + def ChangeOwner(self, name: str, datacenter: Datacenter, owner: str) -> NoneType: ... + + +class Folder(ManagedEntity): + @property + def childType(self) -> List[type]: ... + @property + def childEntity(self) -> List[ManagedEntity]: ... + @property + def namespace(self) -> str: ... + def CreateFolder(self, name: str) -> Folder: ... + def MoveInto(self, list: List[ManagedEntity]) -> Task: ... + def CreateVm(self, config: vm.ConfigSpec, pool: ResourcePool, host: HostSystem) -> Task: ... + def RegisterVm(self, path: str, name: str, asTemplate: bool, pool: ResourcePool, host: HostSystem) -> Task: ... + def CreateCluster(self, name: str, spec: cluster.ConfigSpec) -> ClusterComputeResource: ... + def CreateClusterEx(self, name: str, spec: cluster.ConfigSpecEx) -> ClusterComputeResource: ... + def AddStandaloneHost(self, spec: host.ConnectSpec, compResSpec: ComputeResource.ConfigSpec, addConnected: bool, license: str) -> Task: ... + def CreateDatacenter(self, name: str) -> Datacenter: ... + def UnregisterAndDestroy(self) -> Task: ... + def CreateDistributedVirtualSwitch(self, spec: DistributedVirtualSwitch.CreateSpec) -> Task: ... + def CreateStoragePod(self, name: str) -> StoragePod: ... + def BatchAddStandaloneHosts(self, newHosts: List[Folder.NewHostSpec], compResSpec: ComputeResource.ConfigSpec, addConnected: bool) -> Task: ... + def BatchAddHostsToCluster(self, cluster: ClusterComputeResource, newHosts: List[Folder.NewHostSpec], existingHosts: List[HostSystem], compResSpec: ComputeResource.ConfigSpec, desiredState: str) -> Task: ... + + + class BatchAddHostsToClusterResult(vmodl.DynamicData): + @property + def hostsAddedToCluster(self) -> List[HostSystem]: ... + @property + def hostsFailedInventoryAdd(self) -> List[Folder.FailedHostResult]: ... + @property + def hostsFailedMoveToCluster(self) -> List[Folder.FailedHostResult]: ... + + + class BatchAddStandaloneHostsResult(vmodl.DynamicData): + @property + def addedHosts(self) -> List[HostSystem]: ... + @property + def hostsFailedInventoryAdd(self) -> List[Folder.FailedHostResult]: ... + + + class FailedHostResult(vmodl.DynamicData): + @property + def hostName(self) -> str: ... + @property + def host(self) -> HostSystem: ... + @property + def context(self) -> vmodl.LocalizableMessage: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class NewHostSpec(vmodl.DynamicData): + @property + def hostCnxSpec(self) -> host.ConnectSpec: ... + @property + def esxLicense(self) -> str: ... + + + class DesiredHostState(Enum): + maintenance = "maintenance" + non_maintenance = "non_maintenance" + + +class HealthUpdateManager(ManagedObject): + def RegisterProvider(self, name: str, healthUpdateInfo: List[HealthUpdateInfo]) -> str: ... + def UnregisterProvider(self, providerId: str) -> NoneType: ... + def QueryProviderList(self) -> List[str]: ... + def HasProvider(self, id: str) -> bool: ... + def QueryProviderName(self, id: str) -> str: ... + def QueryHealthUpdateInfos(self, providerId: str) -> List[HealthUpdateInfo]: ... + def AddMonitoredEntities(self, providerId: str, entities: List[ManagedEntity]) -> NoneType: ... + def RemoveMonitoredEntities(self, providerId: str, entities: List[ManagedEntity]) -> NoneType: ... + def QueryMonitoredEntities(self, providerId: str) -> List[ManagedEntity]: ... + def HasMonitoredEntity(self, providerId: str, entity: ManagedEntity) -> bool: ... + def QueryUnmonitoredHosts(self, providerId: str, cluster: ClusterComputeResource) -> List[HostSystem]: ... + def PostHealthUpdates(self, providerId: str, updates: List[HealthUpdate]) -> NoneType: ... + def QueryHealthUpdates(self, providerId: str) -> List[HealthUpdate]: ... + def AddFilter(self, providerId: str, filterName: str, infoIds: List[str]) -> str: ... + def QueryFilterList(self, providerId: str) -> List[str]: ... + def QueryFilterName(self, filterId: str) -> str: ... + def QueryFilterInfoIds(self, filterId: str) -> List[str]: ... + def QueryFilterEntities(self, filterId: str) -> List[ManagedEntity]: ... + def AddFilterEntities(self, filterId: str, entities: List[ManagedEntity]) -> NoneType: ... + def RemoveFilterEntities(self, filterId: str, entities: List[ManagedEntity]) -> NoneType: ... + def RemoveFilter(self, filterId: str) -> NoneType: ... + + +class HistoryCollector(ManagedObject): + @property + def filter(self) -> object: ... + def SetLatestPageSize(self, maxCount: int) -> NoneType: ... + def Rewind(self) -> NoneType: ... + def Reset(self) -> NoneType: ... + def Remove(self) -> NoneType: ... + + +class HostSystem(ManagedEntity): + @property + def runtime(self) -> host.RuntimeInfo: ... + @property + def summary(self) -> host.Summary: ... + @property + def hardware(self) -> host.HardwareInfo: ... + @property + def capability(self) -> host.Capability: ... + @property + def licensableResource(self) -> LicenseManager.LicensableResourceInfo: ... + @property + def remediationState(self) -> HostSystem.RemediationState: ... + @property + def precheckRemediationResult(self) -> profile.host.ProfileManager.ApplyHostConfigSpec: ... + @property + def remediationResult(self) -> profile.host.ProfileManager.ApplyHostConfigResult: ... + @property + def complianceCheckState(self) -> HostSystem.ComplianceCheckState: ... + @property + def complianceCheckResult(self) -> profile.ComplianceResult: ... + @property + def configManager(self) -> host.ConfigManager: ... + @property + def config(self) -> host.ConfigInfo: ... + @property + def vm(self) -> List[VirtualMachine]: ... + @property + def datastore(self) -> List[Datastore]: ... + @property + def network(self) -> List[Network]: ... + @property + def datastoreBrowser(self) -> host.DatastoreBrowser: ... + @property + def systemResources(self) -> host.SystemResourceInfo: ... + @property + def answerFileValidationState(self) -> profile.host.AnswerFileStatusResult: ... + @property + def answerFileValidationResult(self) -> profile.host.AnswerFileStatusResult: ... + def QueryTpmAttestationReport(self) -> host.TpmAttestationReport: ... + def QueryConnectionInfo(self) -> host.ConnectInfo: ... + def UpdateSystemResources(self, resourceInfo: host.SystemResourceInfo) -> NoneType: ... + def UpdateSystemSwapConfiguration(self, sysSwapConfig: host.SystemSwapConfiguration) -> NoneType: ... + def Reconnect(self, cnxSpec: host.ConnectSpec, reconnectSpec: HostSystem.ReconnectSpec) -> Task: ... + def Disconnect(self) -> Task: ... + def EnterMaintenanceMode(self, timeout: int, evacuatePoweredOffVms: bool, maintenanceSpec: host.MaintenanceSpec) -> Task: ... + def ExitMaintenanceMode(self, timeout: int) -> Task: ... + def Reboot(self, force: bool) -> Task: ... + def Shutdown(self, force: bool) -> Task: ... + def EnterStandbyMode(self, timeoutSec: int, evacuatePoweredOffVms: bool) -> Task: ... + def ExitStandbyMode(self, timeoutSec: int) -> Task: ... + def QueryOverhead(self, memorySize: long, videoRamSize: int, numVcpus: int) -> long: ... + def QueryOverheadEx(self, vmConfigInfo: vm.ConfigInfo) -> long: ... + def ReconfigureDAS(self) -> Task: ... + def UpdateFlags(self, flagInfo: host.FlagInfo) -> NoneType: ... + def EnterLockdownMode(self) -> NoneType: ... + def ExitLockdownMode(self) -> NoneType: ... + def AcquireCimServicesTicket(self) -> HostServiceTicket: ... + def UpdateIpmi(self, ipmiInfo: host.IpmiInfo) -> NoneType: ... + def RetrieveHardwareUptime(self) -> long: ... + def PrepareCrypto(self) -> NoneType: ... + def EnableCrypto(self, keyPlain: encryption.CryptoKeyPlain) -> NoneType: ... + def ConfigureCryptoKey(self, keyId: encryption.CryptoKeyId) -> NoneType: ... + def QueryProductLockerLocation(self) -> str: ... + def UpdateProductLockerLocation(self, path: str) -> Task: ... + def RetrieveFreeEpcMemory(self) -> long: ... + + + class ComplianceCheckState(vmodl.DynamicData): + @property + def state(self) -> str: ... + @property + def checkTime(self) -> datetime: ... + + + class ReconnectSpec(vmodl.DynamicData): + @property + def syncState(self) -> bool: ... + + + class RemediationState(vmodl.DynamicData): + @property + def state(self) -> str: ... + @property + def operationTime(self) -> datetime: ... + + + class ConnectionState(Enum): + connected = "connected" + notResponding = "notresponding" + disconnected = "disconnected" + + + class CryptoState(Enum): + incapable = "incapable" + prepared = "prepared" + safe = "safe" + pendingIncapable = "pendingincapable" + + + class PowerState(Enum): + poweredOn = "poweredon" + poweredOff = "poweredoff" + standBy = "standby" + unknown = "unknown" + + + class StandbyMode(Enum): + entering = "entering" + exiting = "exiting" + in = "in" + none = "none" + + +class HttpNfcLease(ManagedObject): + @property + def initializeProgress(self) -> int: ... + @property + def transferProgress(self) -> int: ... + @property + def mode(self) -> str: ... + @property + def capabilities(self) -> HttpNfcLease.Capabilities: ... + @property + def info(self) -> HttpNfcLease.Info: ... + @property + def state(self) -> HttpNfcLease.State: ... + @property + def error(self) -> vmodl.MethodFault: ... + def GetManifest(self) -> List[HttpNfcLease.ManifestEntry]: ... + def SetManifestChecksumType(self, deviceUrlsToChecksumTypes: List[KeyValue]) -> NoneType: ... + def Complete(self) -> NoneType: ... + def Abort(self, fault: vmodl.MethodFault) -> NoneType: ... + def Progress(self, percent: int) -> NoneType: ... + def PullFromUrls(self, files: List[HttpNfcLease.SourceFile]) -> Task: ... + def ProbeUrls(self, files: List[HttpNfcLease.SourceFile], timeout: int) -> List[HttpNfcLease.ProbeResult]: ... + + + class Capabilities(vmodl.DynamicData): + @property + def pullModeSupported(self) -> bool: ... + @property + def corsSupported(self) -> bool: ... + + + class DatastoreLeaseInfo(vmodl.DynamicData): + @property + def datastoreKey(self) -> str: ... + @property + def hosts(self) -> List[HttpNfcLease.HostInfo]: ... + + + class DeviceUrl(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def importKey(self) -> str: ... + @property + def url(self) -> str: ... + @property + def sslThumbprint(self) -> str: ... + @property + def disk(self) -> bool: ... + @property + def targetId(self) -> str: ... + @property + def datastoreKey(self) -> str: ... + @property + def fileSize(self) -> long: ... + + + class HostInfo(vmodl.DynamicData): + @property + def url(self) -> str: ... + @property + def sslThumbprint(self) -> str: ... + + + class ManifestEntry(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def sha1(self) -> str: ... + @property + def checksum(self) -> str: ... + @property + def checksumType(self) -> str: ... + @property + def size(self) -> long: ... + @property + def disk(self) -> bool: ... + @property + def capacity(self) -> long: ... + @property + def populatedSize(self) -> long: ... + + + class ChecksumType(Enum): + sha1 = "sha1" + sha256 = "sha256" + + + class ProbeResult(vmodl.DynamicData): + @property + def serverAccessible(self) -> bool: ... + + + class SourceFile(vmodl.DynamicData): + @property + def targetDeviceId(self) -> str: ... + @property + def url(self) -> str: ... + @property + def memberName(self) -> str: ... + @property + def create(self) -> bool: ... + @property + def sslThumbprint(self) -> str: ... + @property + def httpHeaders(self) -> List[KeyValue]: ... + @property + def size(self) -> long: ... + + + class Mode(Enum): + pushOrGet = "pushorget" + pull = "pull" + + +class IoFilterManager(ManagedObject): + def InstallIoFilter(self, vibUrl: str, compRes: ComputeResource) -> Task: ... + def UninstallIoFilter(self, filterId: str, compRes: ComputeResource) -> Task: ... + def UpgradeIoFilter(self, filterId: str, compRes: ComputeResource, vibUrl: str) -> Task: ... + def QueryIssue(self, filterId: str, compRes: ComputeResource) -> IoFilterManager.QueryIssueResult: ... + def QueryIoFilterInfo(self, compRes: ComputeResource) -> List[IoFilterManager.ClusterIoFilterInfo]: ... + def ResolveInstallationErrorsOnHost(self, filterId: str, host: HostSystem) -> Task: ... + def ResolveInstallationErrorsOnCluster(self, filterId: str, cluster: ClusterComputeResource) -> Task: ... + def QueryDisksUsingFilter(self, filterId: str, compRes: ComputeResource) -> List[vm.device.VirtualDiskId]: ... + + + class ClusterIoFilterInfo(IoFilterManager.IoFilterInfo): + @property + def opType(self) -> str: ... + @property + def vibUrl(self) -> str: ... + + + class HostIoFilterInfo(IoFilterManager.IoFilterInfo): + @property + def available(self) -> bool: ... + + + class IoFilterInfo(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def name(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def version(self) -> str: ... + @property + def type(self) -> str: ... + @property + def summary(self) -> str: ... + @property + def releaseDate(self) -> str: ... + + + class QueryIssueResult(vmodl.DynamicData): + @property + def opType(self) -> str: ... + @property + def hostIssue(self) -> List[IoFilterManager.QueryIssueResult.HostIssue]: ... + + + class HostIssue(vmodl.DynamicData): + @property + def host(self) -> HostSystem: ... + @property + def issue(self) -> List[vmodl.MethodFault]: ... + + + class IoFilterType(Enum): + cache = "cache" + replication = "replication" + encryption = "encryption" + compression = "compression" + inspection = "inspection" + datastoreIoControl = "datastoreiocontrol" + dataProvider = "dataprovider" + dataCapture = "datacapture" + + + class OperationType(Enum): + install = "install" + uninstall = "uninstall" + upgrade = "upgrade" + + +class IpPoolManager(ManagedObject): + def QueryIpPools(self, dc: Datacenter) -> List[vApp.IpPool]: ... + def CreateIpPool(self, dc: Datacenter, pool: vApp.IpPool) -> int: ... + def UpdateIpPool(self, dc: Datacenter, pool: vApp.IpPool) -> NoneType: ... + def DestroyIpPool(self, dc: Datacenter, id: int, force: bool) -> NoneType: ... + def AllocateIpv4Address(self, dc: Datacenter, poolId: int, allocationId: str) -> str: ... + def AllocateIpv6Address(self, dc: Datacenter, poolId: int, allocationId: str) -> str: ... + def ReleaseIpAllocation(self, dc: Datacenter, poolId: int, allocationId: str) -> NoneType: ... + def QueryIPAllocations(self, dc: Datacenter, poolId: int, extensionKey: str) -> List[IpPoolManager.IpAllocation]: ... + + + class IpAllocation(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def allocationId(self) -> str: ... + + +class LicenseAssignmentManager(ManagedObject): + def UpdateAssignedLicense(self, entity: str, licenseKey: str, entityDisplayName: str) -> LicenseManager.LicenseInfo: ... + def RemoveAssignedLicense(self, entityId: str) -> NoneType: ... + def QueryAssignedLicenses(self, entityId: str) -> List[LicenseAssignmentManager.LicenseAssignment]: ... + + + class LicenseAssignment(vmodl.DynamicData): + @property + def entityId(self) -> str: ... + @property + def scope(self) -> str: ... + @property + def entityDisplayName(self) -> str: ... + @property + def assignedLicense(self) -> LicenseManager.LicenseInfo: ... + @property + def properties(self) -> List[vmodl.KeyAnyValue]: ... + + +class LicenseManager(ManagedObject): + @property + def source(self) -> LicenseManager.LicenseSource: ... + @property + def sourceAvailable(self) -> bool: ... + @property + def diagnostics(self) -> LicenseManager.DiagnosticInfo: ... + @property + def featureInfo(self) -> List[LicenseManager.FeatureInfo]: ... + @property + def licensedEdition(self) -> str: ... + @property + def licenses(self) -> List[LicenseManager.LicenseInfo]: ... + @property + def licenseAssignmentManager(self) -> LicenseAssignmentManager: ... + @property + def evaluation(self) -> LicenseManager.EvaluationInfo: ... + def QuerySupportedFeatures(self, host: HostSystem) -> List[LicenseManager.FeatureInfo]: ... + def QuerySourceAvailability(self, host: HostSystem) -> List[LicenseManager.AvailabilityInfo]: ... + def QueryUsage(self, host: HostSystem) -> LicenseManager.LicenseUsageInfo: ... + def SetEdition(self, host: HostSystem, featureKey: str) -> NoneType: ... + def CheckFeature(self, host: HostSystem, featureKey: str) -> bool: ... + def Enable(self, host: HostSystem, featureKey: str) -> bool: ... + def Disable(self, host: HostSystem, featureKey: str) -> bool: ... + def ConfigureSource(self, host: HostSystem, licenseSource: LicenseManager.LicenseSource) -> NoneType: ... + def UpdateLicense(self, licenseKey: str, labels: List[KeyValue]) -> LicenseManager.LicenseInfo: ... + def AddLicense(self, licenseKey: str, labels: List[KeyValue]) -> LicenseManager.LicenseInfo: ... + def RemoveLicense(self, licenseKey: str) -> NoneType: ... + def DecodeLicense(self, licenseKey: str) -> LicenseManager.LicenseInfo: ... + def UpdateLabel(self, licenseKey: str, labelKey: str, labelValue: str) -> NoneType: ... + def RemoveLabel(self, licenseKey: str, labelKey: str) -> NoneType: ... + + + class AvailabilityInfo(vmodl.DynamicData): + @property + def feature(self) -> LicenseManager.FeatureInfo: ... + @property + def total(self) -> int: ... + @property + def available(self) -> int: ... + + + class DiagnosticInfo(vmodl.DynamicData): + @property + def sourceLastChanged(self) -> datetime: ... + @property + def sourceLost(self) -> str: ... + @property + def sourceLatency(self) -> float: ... + @property + def licenseRequests(self) -> str: ... + @property + def licenseRequestFailures(self) -> str: ... + @property + def licenseFeatureUnknowns(self) -> str: ... + @property + def opState(self) -> LicenseManager.LicenseState: ... + @property + def lastStatusUpdate(self) -> datetime: ... + @property + def opFailureMessage(self) -> str: ... + + + class EvaluationInfo(vmodl.DynamicData): + @property + def properties(self) -> List[vmodl.KeyAnyValue]: ... + + + class EvaluationLicense(LicenseManager.LicenseSource): + @property + def remainingHours(self) -> long: ... + + + class FeatureInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def featureName(self) -> str: ... + @property + def featureDescription(self) -> str: ... + @property + def state(self) -> LicenseManager.FeatureInfo.State: ... + @property + def costUnit(self) -> str: ... + @property + def sourceRestriction(self) -> str: ... + @property + def dependentKey(self) -> List[str]: ... + @property + def edition(self) -> bool: ... + @property + def expiresOn(self) -> datetime: ... + + + class CostUnit(Enum): + host = "host" + cpuCore = "cpucore" + cpuPackage = "cpupackage" + server = "server" + vm = "vm" + + + class SourceRestriction(Enum): + unrestricted = "unrestricted" + served = "served" + file = "file" + + + class LicensableResourceInfo(vmodl.DynamicData): + @property + def resource(self) -> List[vmodl.KeyAnyValue]: ... + + + class ResourceKey(Enum): + numCpuPackages = "numcpupackages" + numCpuCores = "numcpucores" + memorySize = "memorysize" + memoryForVms = "memoryforvms" + numVmsStarted = "numvmsstarted" + numVmsStarting = "numvmsstarting" + + + class LicenseInfo(vmodl.DynamicData): + @property + def licenseKey(self) -> str: ... + @property + def editionKey(self) -> str: ... + @property + def name(self) -> str: ... + @property + def total(self) -> int: ... + @property + def used(self) -> int: ... + @property + def costUnit(self) -> str: ... + @property + def properties(self) -> List[vmodl.KeyAnyValue]: ... + @property + def labels(self) -> List[KeyValue]: ... + + + class LicenseServer(LicenseManager.LicenseSource): + @property + def licenseServer(self) -> str: ... + + + class LicenseSource(vmodl.DynamicData): ... + + + class LicenseUsageInfo(vmodl.DynamicData): + @property + def source(self) -> LicenseManager.LicenseSource: ... + @property + def sourceAvailable(self) -> bool: ... + @property + def reservationInfo(self) -> List[LicenseManager.ReservationInfo]: ... + @property + def featureInfo(self) -> List[LicenseManager.FeatureInfo]: ... + + + class LocalLicense(LicenseManager.LicenseSource): + @property + def licenseKeys(self) -> str: ... + + + class ReservationInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def state(self) -> LicenseManager.ReservationInfo.State: ... + @property + def required(self) -> int: ... + + + class LicenseKey(Enum): + esxFull = "esxfull" + esxVmtn = "esxvmtn" + esxExpress = "esxexpress" + san = "san" + iscsi = "iscsi" + nas = "nas" + vsmp = "vsmp" + backup = "backup" + vc = "vc" + vcExpress = "vcexpress" + esxHost = "esxhost" + gsxHost = "gsxhost" + serverHost = "serverhost" + drsPower = "drspower" + vmotion = "vmotion" + drs = "drs" + das = "das" + + + class LicenseState(Enum): + initializing = "initializing" + normal = "normal" + marginal = "marginal" + fault = "fault" + + +class LocalizationManager(ManagedObject): + @property + def catalog(self) -> List[LocalizationManager.MessageCatalog]: ... + + + class MessageCatalog(vmodl.DynamicData): + @property + def moduleName(self) -> str: ... + @property + def catalogName(self) -> str: ... + @property + def locale(self) -> str: ... + @property + def catalogUri(self) -> str: ... + @property + def lastModified(self) -> datetime: ... + @property + def md5sum(self) -> str: ... + @property + def version(self) -> str: ... + + +class ManagedEntity(ExtensibleManagedObject): + @property + def parent(self) -> ManagedEntity: ... + @property + def customValue(self) -> List[CustomFieldsManager.Value]: ... + @property + def overallStatus(self) -> ManagedEntity.Status: ... + @property + def configStatus(self) -> ManagedEntity.Status: ... + @property + def configIssue(self) -> List[event.Event]: ... + @property + def effectiveRole(self) -> List[int]: ... + @property + def permission(self) -> List[AuthorizationManager.Permission]: ... + @property + def name(self) -> str: ... + @property + def disabledMethod(self) -> List[ManagedMethod]: ... + @property + def recentTask(self) -> List[Task]: ... + @property + def declaredAlarmState(self) -> List[alarm.AlarmState]: ... + @property + def triggeredAlarmState(self) -> List[alarm.AlarmState]: ... + @property + def alarmActionsEnabled(self) -> bool: ... + @property + def tag(self) -> List[Tag]: ... + def Reload(self) -> NoneType: ... + def Rename(self, newName: str) -> Task: ... + def Destroy(self) -> Task: ... + + + class Status(Enum): + gray = "gray" + green = "green" + yellow = "yellow" + red = "red" + + +class Network(ManagedEntity): + @property + def summary(self) -> Network.Summary: ... + @property + def host(self) -> List[HostSystem]: ... + @property + def vm(self) -> List[VirtualMachine]: ... + def DestroyNetwork(self) -> NoneType: ... + + +class OpaqueNetwork(Network): + @property + def capability(self) -> OpaqueNetwork.Capability: ... + @property + def extraConfig(self) -> List[option.OptionValue]: ... + + +class OverheadMemoryManager(ManagedObject): + def LookupVmOverheadMemory(self, vm: VirtualMachine, host: HostSystem) -> long: ... + + +class OvfManager(ManagedObject): + @property + def ovfImportOption(self) -> List[OvfManager.OvfOptionInfo]: ... + @property + def ovfExportOption(self) -> List[OvfManager.OvfOptionInfo]: ... + def ValidateHost(self, ovfDescriptor: str, host: HostSystem, vhp: OvfManager.ValidateHostParams) -> OvfManager.ValidateHostResult: ... + def ParseDescriptor(self, ovfDescriptor: str, pdp: OvfManager.ParseDescriptorParams) -> OvfManager.ParseDescriptorResult: ... + def CreateImportSpec(self, ovfDescriptor: str, resourcePool: ResourcePool, datastore: Datastore, cisp: OvfManager.CreateImportSpecParams) -> OvfManager.CreateImportSpecResult: ... + def CreateDescriptor(self, obj: ManagedEntity, cdp: OvfManager.CreateDescriptorParams) -> OvfManager.CreateDescriptorResult: ... + + + class CommonParams(vmodl.DynamicData): + @property + def locale(self) -> str: ... + @property + def deploymentOption(self) -> str: ... + @property + def msgBundle(self) -> List[KeyValue]: ... + @property + def importOption(self) -> List[str]: ... + + + class CreateDescriptorParams(vmodl.DynamicData): + @property + def ovfFiles(self) -> List[OvfManager.OvfFile]: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def includeImageFiles(self) -> bool: ... + @property + def exportOption(self) -> List[str]: ... + @property + def snapshot(self) -> vm.Snapshot: ... + + + class CreateDescriptorResult(vmodl.DynamicData): + @property + def ovfDescriptor(self) -> str: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + @property + def includeImageFiles(self) -> bool: ... + + + class CreateImportSpecParams(OvfManager.CommonParams): + @property + def entityName(self) -> str: ... + @property + def hostSystem(self) -> HostSystem: ... + @property + def networkMapping(self) -> List[OvfManager.NetworkMapping]: ... + @property + def ipAllocationPolicy(self) -> str: ... + @property + def ipProtocol(self) -> str: ... + @property + def propertyMapping(self) -> List[KeyValue]: ... + @property + def resourceMapping(self) -> List[OvfManager.ResourceMap]: ... + @property + def diskProvisioning(self) -> str: ... + @property + def instantiationOst(self) -> OvfConsumer.OstNode: ... + + + class DiskProvisioningType(Enum): + monolithicSparse = "monolithicsparse" + monolithicFlat = "monolithicflat" + twoGbMaxExtentSparse = "twogbmaxextentsparse" + twoGbMaxExtentFlat = "twogbmaxextentflat" + thin = "thin" + thick = "thick" + seSparse = "sesparse" + eagerZeroedThick = "eagerzeroedthick" + sparse = "sparse" + flat = "flat" + + + class CreateImportSpecResult(vmodl.DynamicData): + @property + def importSpec(self) -> ImportSpec: ... + @property + def fileItem(self) -> List[OvfManager.FileItem]: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + + + class DeploymentOption(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def label(self) -> str: ... + @property + def description(self) -> str: ... + + + class FileItem(vmodl.DynamicData): + @property + def deviceId(self) -> str: ... + @property + def path(self) -> str: ... + @property + def compressionMethod(self) -> str: ... + @property + def chunkSize(self) -> long: ... + @property + def size(self) -> long: ... + @property + def cimType(self) -> int: ... + @property + def create(self) -> bool: ... + + + class NetworkInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + + + class NetworkMapping(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def network(self) -> Network: ... + + + class OvfFile(vmodl.DynamicData): + @property + def deviceId(self) -> str: ... + @property + def path(self) -> str: ... + @property + def compressionMethod(self) -> str: ... + @property + def chunkSize(self) -> long: ... + @property + def size(self) -> long: ... + @property + def capacity(self) -> long: ... + @property + def populatedSize(self) -> long: ... + + + class OvfOptionInfo(vmodl.DynamicData): + @property + def option(self) -> str: ... + @property + def description(self) -> vmodl.LocalizableMessage: ... + + + class ParseDescriptorParams(OvfManager.CommonParams): ... + + + class ParseDescriptorResult(vmodl.DynamicData): + @property + def eula(self) -> List[str]: ... + @property + def network(self) -> List[OvfManager.NetworkInfo]: ... + @property + def ipAllocationScheme(self) -> List[str]: ... + @property + def ipProtocols(self) -> List[str]: ... + @property + def property(self) -> List[vApp.PropertyInfo]: ... + @property + def productInfo(self) -> vApp.ProductInfo: ... + @property + def annotation(self) -> str: ... + @property + def approximateDownloadSize(self) -> long: ... + @property + def approximateFlatDeploymentSize(self) -> long: ... + @property + def approximateSparseDeploymentSize(self) -> long: ... + @property + def defaultEntityName(self) -> str: ... + @property + def virtualApp(self) -> bool: ... + @property + def deploymentOption(self) -> List[OvfManager.DeploymentOption]: ... + @property + def defaultDeploymentOption(self) -> str: ... + @property + def entityName(self) -> List[KeyValue]: ... + @property + def annotatedOst(self) -> OvfConsumer.OstNode: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + + + class ResourceMap(vmodl.DynamicData): + @property + def source(self) -> str: ... + @property + def parent(self) -> ResourcePool: ... + @property + def resourceSpec(self) -> ResourceConfigSpec: ... + @property + def datastore(self) -> Datastore: ... + + + class ValidateHostParams(OvfManager.CommonParams): ... + + + class ValidateHostResult(vmodl.DynamicData): + @property + def downloadSize(self) -> long: ... + @property + def flatDeploymentSize(self) -> long: ... + @property + def sparseDeploymentSize(self) -> long: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + @property + def supportedDiskProvisioning(self) -> List[str]: ... + + +class PerformanceManager(ManagedObject): + @property + def description(self) -> PerformanceDescription: ... + @property + def historicalInterval(self) -> List[HistoricalInterval]: ... + @property + def perfCounter(self) -> List[PerformanceManager.CounterInfo]: ... + def QueryProviderSummary(self, entity: ManagedObject) -> PerformanceManager.ProviderSummary: ... + def QueryAvailableMetric(self, entity: ManagedObject, beginTime: datetime, endTime: datetime, intervalId: int) -> List[PerformanceManager.MetricId]: ... + def QueryCounter(self, counterId: List[int]) -> List[PerformanceManager.CounterInfo]: ... + def QueryCounterByLevel(self, level: int) -> List[PerformanceManager.CounterInfo]: ... + def QueryStats(self, querySpec: List[PerformanceManager.QuerySpec]) -> List[PerformanceManager.EntityMetricBase]: ... + def QueryCompositeStats(self, querySpec: PerformanceManager.QuerySpec) -> PerformanceManager.CompositeEntityMetric: ... + def CreateHistoricalInterval(self, intervalId: HistoricalInterval) -> NoneType: ... + def RemoveHistoricalInterval(self, samplePeriod: int) -> NoneType: ... + def UpdateHistoricalInterval(self, interval: HistoricalInterval) -> NoneType: ... + def UpdateCounterLevelMapping(self, counterLevelMap: List[PerformanceManager.CounterLevelMapping]) -> NoneType: ... + def ResetCounterLevelMapping(self, counters: List[int]) -> NoneType: ... + + + class CompositeEntityMetric(vmodl.DynamicData): + @property + def entity(self) -> PerformanceManager.EntityMetricBase: ... + @property + def childEntity(self) -> List[PerformanceManager.EntityMetricBase]: ... + + + class CounterInfo(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def nameInfo(self) -> ElementDescription: ... + @property + def groupInfo(self) -> ElementDescription: ... + @property + def unitInfo(self) -> ElementDescription: ... + @property + def rollupType(self) -> PerformanceManager.CounterInfo.RollupType: ... + @property + def statsType(self) -> PerformanceManager.CounterInfo.StatsType: ... + @property + def level(self) -> int: ... + @property + def perDeviceLevel(self) -> int: ... + @property + def associatedCounterId(self) -> List[int]: ... + + + class RollupType(Enum): + average = "average" + maximum = "maximum" + minimum = "minimum" + latest = "latest" + summation = "summation" + none = "none" + + + class StatsType(Enum): + absolute = "absolute" + delta = "delta" + rate = "rate" + + + class Unit(Enum): + percent = "percent" + kiloBytes = "kilobytes" + megaBytes = "megabytes" + megaHertz = "megahertz" + number = "number" + microsecond = "microsecond" + millisecond = "millisecond" + second = "second" + kiloBytesPerSecond = "kilobytespersecond" + megaBytesPerSecond = "megabytespersecond" + watt = "watt" + joule = "joule" + teraBytes = "terabytes" + celsius = "celsius" + mgCO2eqPerHour = "mgco2eqperhour" + nanosecond = "nanosecond" + + + class CounterLevelMapping(vmodl.DynamicData): + @property + def counterId(self) -> int: ... + @property + def aggregateLevel(self) -> int: ... + @property + def perDeviceLevel(self) -> int: ... + + + class EntityMetric(PerformanceManager.EntityMetricBase): + @property + def sampleInfo(self) -> List[PerformanceManager.SampleInfo]: ... + @property + def value(self) -> List[PerformanceManager.MetricSeries]: ... + + + class EntityMetricBase(vmodl.DynamicData): + @property + def entity(self) -> ManagedObject: ... + + + class EntityMetricCSV(PerformanceManager.EntityMetricBase): + @property + def sampleInfoCSV(self) -> str: ... + @property + def value(self) -> List[PerformanceManager.MetricSeriesCSV]: ... + + + class IntSeries(PerformanceManager.MetricSeries): + @property + def value(self) -> List[long]: ... + + + class MetricId(vmodl.DynamicData): + @property + def counterId(self) -> int: ... + @property + def instance(self) -> str: ... + + + class MetricSeries(vmodl.DynamicData): + @property + def id(self) -> PerformanceManager.MetricId: ... + + + class MetricSeriesCSV(PerformanceManager.MetricSeries): + @property + def value(self) -> str: ... + + + class ProviderSummary(vmodl.DynamicData): + @property + def entity(self) -> ManagedObject: ... + @property + def currentSupported(self) -> bool: ... + @property + def summarySupported(self) -> bool: ... + @property + def refreshRate(self) -> int: ... + + + class QuerySpec(vmodl.DynamicData): + @property + def entity(self) -> ManagedObject: ... + @property + def startTime(self) -> datetime: ... + @property + def endTime(self) -> datetime: ... + @property + def maxSample(self) -> int: ... + @property + def metricId(self) -> List[PerformanceManager.MetricId]: ... + @property + def intervalId(self) -> int: ... + @property + def format(self) -> str: ... + + + class SampleInfo(vmodl.DynamicData): + @property + def timestamp(self) -> datetime: ... + @property + def interval(self) -> int: ... + + +class ResourcePlanningManager(ManagedObject): + def EstimateDatabaseSize(self, dbSizeParam: ResourcePlanningManager.DatabaseSizeParam) -> ResourcePlanningManager.DatabaseSizeEstimate: ... + + + class DatabaseSizeEstimate(vmodl.DynamicData): + @property + def size(self) -> long: ... + + + class DatabaseSizeParam(vmodl.DynamicData): + @property + def inventoryDesc(self) -> ResourcePlanningManager.InventoryDescription: ... + @property + def perfStatsDesc(self) -> ResourcePlanningManager.PerfStatsDescription: ... + + + class InventoryDescription(vmodl.DynamicData): + @property + def numHosts(self) -> int: ... + @property + def numVirtualMachines(self) -> int: ... + @property + def numResourcePools(self) -> int: ... + @property + def numClusters(self) -> int: ... + @property + def numCpuDev(self) -> int: ... + @property + def numNetDev(self) -> int: ... + @property + def numDiskDev(self) -> int: ... + @property + def numvCpuDev(self) -> int: ... + @property + def numvNetDev(self) -> int: ... + @property + def numvDiskDev(self) -> int: ... + + + class PerfStatsDescription(vmodl.DynamicData): + @property + def intervals(self) -> List[HistoricalInterval]: ... + + +class ResourcePool(ManagedEntity): + @property + def summary(self) -> ResourcePool.Summary: ... + @property + def runtime(self) -> ResourcePool.RuntimeInfo: ... + @property + def owner(self) -> ComputeResource: ... + @property + def resourcePool(self) -> List[ResourcePool]: ... + @property + def vm(self) -> List[VirtualMachine]: ... + @property + def config(self) -> ResourceConfigSpec: ... + @property + def namespace(self) -> str: ... + @property + def childConfiguration(self) -> List[ResourceConfigSpec]: ... + def UpdateConfig(self, name: str, config: ResourceConfigSpec) -> NoneType: ... + def MoveInto(self, list: List[ManagedEntity]) -> NoneType: ... + def UpdateChildResourceConfiguration(self, spec: List[ResourceConfigSpec]) -> NoneType: ... + def CreateResourcePool(self, name: str, spec: ResourceConfigSpec) -> ResourcePool: ... + def DestroyChildren(self) -> NoneType: ... + def CreateVApp(self, name: str, resSpec: ResourceConfigSpec, configSpec: vApp.VAppConfigSpec, vmFolder: Folder) -> VirtualApp: ... + def CreateVm(self, config: vm.ConfigSpec, host: HostSystem) -> Task: ... + def RegisterVm(self, path: str, name: str, host: HostSystem) -> Task: ... + def ImportVApp(self, spec: ImportSpec, folder: Folder, host: HostSystem) -> HttpNfcLease: ... + def QueryResourceConfigOption(self) -> ResourceConfigOption: ... + def RefreshRuntime(self) -> NoneType: ... + + + class ResourceUsage(vmodl.DynamicData): + @property + def reservationUsed(self) -> long: ... + @property + def reservationUsedForVm(self) -> long: ... + @property + def unreservedForPool(self) -> long: ... + @property + def unreservedForVm(self) -> long: ... + @property + def overallUsage(self) -> long: ... + @property + def maxUsage(self) -> long: ... + + +class SearchIndex(ManagedObject): + def FindByUuid(self, datacenter: Datacenter, uuid: str, vmSearch: bool, instanceUuid: bool) -> ManagedEntity: ... + def FindByDatastorePath(self, datacenter: Datacenter, path: str) -> VirtualMachine: ... + def FindByDnsName(self, datacenter: Datacenter, dnsName: str, vmSearch: bool) -> ManagedEntity: ... + def FindByIp(self, datacenter: Datacenter, ip: str, vmSearch: bool) -> ManagedEntity: ... + def FindByInventoryPath(self, inventoryPath: str) -> ManagedEntity: ... + def FindChild(self, entity: ManagedEntity, name: str) -> ManagedEntity: ... + def FindAllByUuid(self, datacenter: Datacenter, uuid: str, vmSearch: bool, instanceUuid: bool) -> List[ManagedEntity]: ... + def FindAllByDnsName(self, datacenter: Datacenter, dnsName: str, vmSearch: bool) -> List[ManagedEntity]: ... + def FindAllByIp(self, datacenter: Datacenter, ip: str, vmSearch: bool) -> List[ManagedEntity]: ... + + +class ServiceInstance(ManagedObject): + @property + def serverClock(self) -> datetime: ... + @property + def capability(self) -> Capability: ... + @property + def content(self) -> ServiceInstanceContent: ... + def CurrentTime(self) -> datetime: ... + def RetrieveContent(self) -> ServiceInstanceContent: ... + def ValidateMigration(self, vm: List[VirtualMachine], state: VirtualMachine.PowerState, testType: List[str], pool: ResourcePool, host: HostSystem) -> List[event.Event]: ... + def QueryVMotionCompatibility(self, vm: VirtualMachine, host: List[HostSystem], compatibility: List[str]) -> List[ServiceInstance.HostVMotionCompatibility]: ... + def RetrieveProductComponents(self) -> List[ServiceInstance.ProductComponentInfo]: ... + + + class HostVMotionCompatibility(vmodl.DynamicData): + @property + def host(self) -> HostSystem: ... + @property + def compatibility(self) -> List[str]: ... + + + class ProductComponentInfo(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def release(self) -> int: ... + + + class VMotionCompatibilityType(Enum): + cpu = "cpu" + software = "software" + + + class ValidateMigrationTestType(Enum): + sourceTests = "sourcetests" + compatibilityTests = "compatibilitytests" + diskAccessibilityTests = "diskaccessibilitytests" + resourceTests = "resourcetests" + + +class ServiceManager(ManagedObject): + @property + def service(self) -> List[ServiceManager.ServiceInfo]: ... + def QueryServiceList(self, serviceName: str, location: List[str]) -> List[ServiceManager.ServiceInfo]: ... + + + class ServiceInfo(vmodl.DynamicData): + @property + def serviceName(self) -> str: ... + @property + def location(self) -> List[str]: ... + @property + def service(self) -> ManagedObject: ... + @property + def description(self) -> str: ... + + +class SessionManager(ManagedObject): + @property + def sessionList(self) -> List[UserSession]: ... + @property + def currentSession(self) -> UserSession: ... + @property + def message(self) -> str: ... + @property + def messageLocaleList(self) -> List[str]: ... + @property + def supportedLocaleList(self) -> List[str]: ... + @property + def defaultLocale(self) -> str: ... + def UpdateMessage(self, message: str) -> NoneType: ... + def LoginByToken(self, locale: str) -> UserSession: ... + def Login(self, userName: str, password: str, locale: str) -> UserSession: ... + def LoginBySSPI(self, base64Token: str, locale: str) -> UserSession: ... + def Logout(self) -> NoneType: ... + def AcquireLocalTicket(self, userName: str) -> SessionManager.LocalTicket: ... + def AcquireGenericServiceTicket(self, spec: SessionManager.ServiceRequestSpec) -> SessionManager.GenericServiceTicket: ... + def Terminate(self, sessionId: List[str]) -> NoneType: ... + def SetLocale(self, locale: str) -> NoneType: ... + def LoginExtensionBySubjectName(self, extensionKey: str, locale: str) -> UserSession: ... + def LoginExtensionByCertificate(self, extensionKey: str, locale: str) -> UserSession: ... + def ImpersonateUser(self, userName: str, locale: str) -> UserSession: ... + def SessionIsActive(self, sessionID: str, userName: str) -> bool: ... + def AcquireCloneTicket(self) -> str: ... + def CloneSession(self, cloneTicket: str) -> UserSession: ... + + + class GenericServiceTicket(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def hostName(self) -> str: ... + @property + def sslThumbprint(self) -> str: ... + @property + def certThumbprintList(self) -> List[vm.CertThumbprint]: ... + @property + def ticketType(self) -> str: ... + + + class TicketType(Enum): + HttpNfcServiceTicket = "httpnfcserviceticket" + HostServiceTicket = "hostserviceticket" + VcServiceTicket = "vcserviceticket" + + + class HttpServiceRequestSpec(SessionManager.ServiceRequestSpec): + @property + def method(self) -> str: ... + @property + def url(self) -> str: ... + + + class Method(Enum): + httpOptions = "httpoptions" + httpGet = "httpget" + httpHead = "httphead" + httpPost = "httppost" + httpPut = "httpput" + httpDelete = "httpdelete" + httpTrace = "httptrace" + httpConnect = "httpconnect" + + + class LocalTicket(vmodl.DynamicData): + @property + def userName(self) -> str: ... + @property + def passwordFilePath(self) -> str: ... + + + class ServiceRequestSpec(vmodl.DynamicData): ... + + + class VmomiServiceRequestSpec(SessionManager.ServiceRequestSpec): + @property + def method(self) -> ManagedMethod: ... + + +class SimpleCommand(ManagedObject): + @property + def encodingType(self) -> SimpleCommand.Encoding: ... + @property + def entity(self) -> ServiceManager.ServiceInfo: ... + def Execute(self, arguments: List[str]) -> str: ... + + + class Encoding(Enum): + CSV = "csv" + HEX = "hex" + STRING = "string" + + +class SiteInfoManager(ManagedObject): + def GetSiteInfo(self) -> SiteInfo: ... + + +class StoragePod(Folder): + @property + def summary(self) -> StoragePod.Summary: ... + @property + def podStorageDrsEntry(self) -> StorageResourceManager.PodStorageDrsEntry: ... + + +class StorageQueryManager(ManagedObject): + def QueryHostsWithAttachedLun(self, lunUuid: str) -> List[HostSystem]: ... + + +class StorageResourceManager(ManagedObject): + def ConfigureDatastoreIORM(self, datastore: Datastore, spec: StorageResourceManager.IORMConfigSpec) -> Task: ... + def QueryIORMConfigOption(self, host: HostSystem) -> StorageResourceManager.IORMConfigOption: ... + def QueryDatastorePerformanceSummary(self, datastore: Datastore) -> List[StorageResourceManager.StoragePerformanceSummary]: ... + def ApplyRecommendationToPod(self, pod: StoragePod, key: str) -> Task: ... + def ApplyRecommendation(self, key: List[str]) -> Task: ... + def CancelRecommendation(self, key: List[str]) -> NoneType: ... + def RefreshRecommendation(self, pod: StoragePod) -> NoneType: ... + def RefreshRecommendationsForPod(self, pod: StoragePod) -> Task: ... + def ConfigureStorageDrsForPod(self, pod: StoragePod, spec: storageDrs.ConfigSpec, modify: bool) -> Task: ... + def ValidateStoragePodConfig(self, pod: StoragePod, spec: storageDrs.ConfigSpec) -> vmodl.MethodFault: ... + def RecommendDatastores(self, storageSpec: storageDrs.StoragePlacementSpec) -> storageDrs.StoragePlacementResult: ... + + + class IOAllocationInfo(vmodl.DynamicData): + @property + def limit(self) -> long: ... + @property + def shares(self) -> SharesInfo: ... + @property + def reservation(self) -> int: ... + + + class IOAllocationOption(vmodl.DynamicData): + @property + def limitOption(self) -> option.LongOption: ... + @property + def sharesOption(self) -> SharesOption: ... + + + class IORMConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def congestionThresholdMode(self) -> str: ... + @property + def congestionThreshold(self) -> int: ... + @property + def percentOfPeakThroughput(self) -> int: ... + @property + def statsCollectionEnabled(self) -> bool: ... + @property + def reservationEnabled(self) -> bool: ... + @property + def statsAggregationDisabled(self) -> bool: ... + @property + def reservableIopsThreshold(self) -> int: ... + + + class IORMConfigOption(vmodl.DynamicData): + @property + def enabledOption(self) -> option.BoolOption: ... + @property + def congestionThresholdOption(self) -> option.IntOption: ... + @property + def statsCollectionEnabledOption(self) -> option.BoolOption: ... + @property + def reservationEnabledOption(self) -> option.BoolOption: ... + + + class IORMConfigSpec(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def congestionThresholdMode(self) -> str: ... + @property + def congestionThreshold(self) -> int: ... + @property + def percentOfPeakThroughput(self) -> int: ... + @property + def statsCollectionEnabled(self) -> bool: ... + @property + def reservationEnabled(self) -> bool: ... + @property + def statsAggregationDisabled(self) -> bool: ... + @property + def reservableIopsThreshold(self) -> int: ... + + + class PodStorageDrsEntry(vmodl.DynamicData): + @property + def storageDrsConfig(self) -> storageDrs.ConfigInfo: ... + @property + def recommendation(self) -> List[cluster.Recommendation]: ... + @property + def drsFault(self) -> List[cluster.DrsFaults]: ... + @property + def actionHistory(self) -> List[cluster.ActionHistory]: ... + + + class StoragePerformanceSummary(vmodl.DynamicData): + @property + def interval(self) -> int: ... + @property + def percentile(self) -> List[int]: ... + @property + def datastoreReadLatency(self) -> List[double]: ... + @property + def datastoreWriteLatency(self) -> List[double]: ... + @property + def datastoreVmLatency(self) -> List[double]: ... + @property + def datastoreReadIops(self) -> List[double]: ... + @property + def datastoreWriteIops(self) -> List[double]: ... + @property + def siocActivityDuration(self) -> int: ... + + + class StorageProfileStatistics(vmodl.DynamicData): + @property + def profileId(self) -> str: ... + @property + def totalSpaceMB(self) -> long: ... + @property + def usedSpaceMB(self) -> long: ... + + + class CongestionThresholdMode(Enum): + automatic = "automatic" + manual = "manual" + + +class Task(ExtensibleManagedObject): + @property + def info(self) -> TaskInfo: ... + def Cancel(self) -> NoneType: ... + def UpdateProgress(self, percentDone: int) -> NoneType: ... + def SetState(self, state: TaskInfo.State, result: object, fault: vmodl.MethodFault) -> NoneType: ... + def UpdateDescription(self, description: vmodl.LocalizableMessage) -> NoneType: ... + + +class TaskHistoryCollector(HistoryCollector): + @property + def latestPage(self) -> List[TaskInfo]: ... + def ReadNext(self, maxCount: int) -> List[TaskInfo]: ... + def ReadPrev(self, maxCount: int) -> List[TaskInfo]: ... + + +class TaskManager(ManagedObject): + @property + def recentTask(self) -> List[Task]: ... + @property + def description(self) -> TaskDescription: ... + @property + def maxCollector(self) -> int: ... + def CreateCollector(self, filter: TaskFilterSpec) -> TaskHistoryCollector: ... + def CreateTask(self, obj: ManagedObject, taskTypeId: str, initiatedBy: str, cancelable: bool, parentTaskKey: str, activationId: str) -> TaskInfo: ... + + +class UserDirectory(ManagedObject): + @property + def domainList(self) -> List[str]: ... + def RetrieveUserGroups(self, domain: str, searchStr: str, belongsToGroup: str, belongsToUser: str, exactMatch: bool, findUsers: bool, findGroups: bool) -> List[UserSearchResult]: ... + + +class VirtualApp(ResourcePool): + @property + def parentFolder(self) -> Folder: ... + @property + def datastore(self) -> List[Datastore]: ... + @property + def network(self) -> List[Network]: ... + @property + def vAppConfig(self) -> vApp.VAppConfigInfo: ... + @property + def parentVApp(self) -> ManagedEntity: ... + @property + def childLink(self) -> List[VirtualApp.LinkInfo]: ... + def UpdateVAppConfig(self, spec: vApp.VAppConfigSpec) -> NoneType: ... + def UpdateLinkedChildren(self, addChangeSet: List[VirtualApp.LinkInfo], removeSet: List[ManagedEntity]) -> NoneType: ... + def Clone(self, name: str, target: ResourcePool, spec: vApp.CloneSpec) -> Task: ... + def ExportVApp(self) -> HttpNfcLease: ... + def PowerOn(self) -> Task: ... + def PowerOff(self, force: bool) -> Task: ... + def Suspend(self) -> Task: ... + def Unregister(self) -> Task: ... + + + class LinkInfo(vmodl.DynamicData): + @property + def key(self) -> ManagedEntity: ... + @property + def destroyWithParent(self) -> bool: ... + + + class VAppState(Enum): + started = "started" + stopped = "stopped" + starting = "starting" + stopping = "stopping" + + +class VirtualDiskManager(ManagedObject): + def CreateVirtualDisk(self, name: str, datacenter: Datacenter, spec: VirtualDiskManager.VirtualDiskSpec) -> Task: ... + def DeleteVirtualDisk(self, name: str, datacenter: Datacenter) -> Task: ... + def MoveVirtualDisk(self, sourceName: str, sourceDatacenter: Datacenter, destName: str, destDatacenter: Datacenter, force: bool, profile: List[vm.ProfileSpec]) -> Task: ... + def CopyVirtualDisk(self, sourceName: str, sourceDatacenter: Datacenter, destName: str, destDatacenter: Datacenter, destSpec: VirtualDiskManager.VirtualDiskSpec, force: bool) -> Task: ... + def ExtendVirtualDisk(self, name: str, datacenter: Datacenter, newCapacityKb: long, eagerZero: bool) -> Task: ... + def QueryVirtualDiskFragmentation(self, name: str, datacenter: Datacenter) -> int: ... + def DefragmentVirtualDisk(self, name: str, datacenter: Datacenter) -> Task: ... + def ShrinkVirtualDisk(self, name: str, datacenter: Datacenter, copy: bool) -> Task: ... + def InflateVirtualDisk(self, name: str, datacenter: Datacenter) -> Task: ... + def EagerZeroVirtualDisk(self, name: str, datacenter: Datacenter) -> Task: ... + def ZeroFillVirtualDisk(self, name: str, datacenter: Datacenter) -> Task: ... + def SetVirtualDiskUuid(self, name: str, datacenter: Datacenter, uuid: str) -> NoneType: ... + def QueryVirtualDiskUuid(self, name: str, datacenter: Datacenter) -> str: ... + def QueryVirtualDiskGeometry(self, name: str, datacenter: Datacenter) -> host.DiskDimensions.Chs: ... + def ImportUnmanagedSnapshot(self, vdisk: str, datacenter: Datacenter, vvolId: str) -> NoneType: ... + def ReleaseManagedSnapshot(self, vdisk: str, datacenter: Datacenter) -> NoneType: ... + + + class DeviceBackedVirtualDiskSpec(VirtualDiskManager.VirtualDiskSpec): + @property + def device(self) -> str: ... + + + class FileBackedVirtualDiskSpec(VirtualDiskManager.VirtualDiskSpec): + @property + def capacityKb(self) -> long: ... + @property + def profile(self) -> List[vm.ProfileSpec]: ... + @property + def crypto(self) -> encryption.CryptoSpec: ... + + + class SeSparseVirtualDiskSpec(VirtualDiskManager.FileBackedVirtualDiskSpec): + @property + def grainSizeKb(self) -> int: ... + + + class VirtualDiskSpec(vmodl.DynamicData): + @property + def diskType(self) -> str: ... + @property + def adapterType(self) -> str: ... + + + class VirtualDiskAdapterType(Enum): + ide = "ide" + busLogic = "buslogic" + lsiLogic = "lsilogic" + + + class VirtualDiskType(Enum): + preallocated = "preallocated" + thin = "thin" + seSparse = "sesparse" + rdm = "rdm" + rdmp = "rdmp" + raw = "raw" + delta = "delta" + sparse2Gb = "sparse2gb" + thick2Gb = "thick2gb" + eagerZeroedThick = "eagerzeroedthick" + sparseMonolithic = "sparsemonolithic" + flatMonolithic = "flatmonolithic" + thick = "thick" + + +class VirtualMachine(ManagedEntity): + @property + def capability(self) -> vm.Capability: ... + @property + def config(self) -> vm.ConfigInfo: ... + @property + def layout(self) -> vm.FileLayout: ... + @property + def layoutEx(self) -> vm.FileLayoutEx: ... + @property + def storage(self) -> vm.StorageInfo: ... + @property + def environmentBrowser(self) -> EnvironmentBrowser: ... + @property + def resourcePool(self) -> ResourcePool: ... + @property + def parentVApp(self) -> ManagedEntity: ... + @property + def resourceConfig(self) -> ResourceConfigSpec: ... + @property + def runtime(self) -> vm.RuntimeInfo: ... + @property + def guest(self) -> vm.GuestInfo: ... + @property + def summary(self) -> vm.Summary: ... + @property + def datastore(self) -> List[Datastore]: ... + @property + def network(self) -> List[Network]: ... + @property + def snapshot(self) -> vm.SnapshotInfo: ... + @property + def rootSnapshot(self) -> List[vm.Snapshot]: ... + @property + def guestHeartbeatStatus(self) -> ManagedEntity.Status: ... + def RefreshStorageInfo(self) -> NoneType: ... + def CreateSnapshot(self, name: str, description: str, memory: bool, quiesce: bool) -> Task: ... + def CreateSnapshotEx(self, name: str, description: str, memory: bool, quiesceSpec: vm.GuestQuiesceSpec) -> Task: ... + def RevertToCurrentSnapshot(self, host: HostSystem, suppressPowerOn: bool) -> Task: ... + def RemoveAllSnapshots(self, consolidate: bool) -> Task: ... + def ConsolidateDisks(self) -> Task: ... + def EstimateStorageRequirementForConsolidate(self) -> Task: ... + def Reconfigure(self, spec: vm.ConfigSpec) -> Task: ... + def UpgradeVirtualHardware(self, version: str) -> Task: ... + def ExtractOvfEnvironment(self) -> str: ... + def PowerOn(self, host: HostSystem) -> Task: ... + def PowerOff(self) -> Task: ... + def Suspend(self) -> Task: ... + def Reset(self) -> Task: ... + def ShutdownGuest(self) -> NoneType: ... + def RebootGuest(self) -> NoneType: ... + def StandbyGuest(self) -> NoneType: ... + def Answer(self, questionId: str, answerChoice: str) -> NoneType: ... + def Customize(self, spec: vm.customization.Specification) -> Task: ... + def CheckCustomizationSpec(self, spec: vm.customization.Specification) -> NoneType: ... + def Migrate(self, pool: ResourcePool, host: HostSystem, priority: VirtualMachine.MovePriority, state: VirtualMachine.PowerState) -> Task: ... + def Relocate(self, spec: vm.RelocateSpec, priority: VirtualMachine.MovePriority) -> Task: ... + def Clone(self, folder: Folder, name: str, spec: vm.CloneSpec) -> Task: ... + def InstantClone(self, spec: vm.InstantCloneSpec) -> Task: ... + def ExportVm(self) -> HttpNfcLease: ... + def MarkAsTemplate(self) -> NoneType: ... + def MarkAsVirtualMachine(self, pool: ResourcePool, host: HostSystem) -> NoneType: ... + def Unregister(self) -> NoneType: ... + def ResetGuestInformation(self) -> NoneType: ... + def MountToolsInstaller(self) -> NoneType: ... + def UnmountToolsInstaller(self) -> NoneType: ... + def UpgradeTools(self, installerOptions: str) -> Task: ... + def AcquireMksTicket(self) -> VirtualMachine.MksTicket: ... + def QueryConnections(self) -> List[VirtualMachine.Connection]: ... + def DropConnections(self, listOfConnections: List[VirtualMachine.Connection]) -> bool: ... + def AcquireTicket(self, ticketType: str) -> VirtualMachine.Ticket: ... + def SetScreenResolution(self, width: int, height: int) -> NoneType: ... + def DefragmentAllDisks(self) -> NoneType: ... + def CreateSecondary(self, host: HostSystem) -> Task: ... + def CreateSecondaryEx(self, host: HostSystem, spec: vm.FaultToleranceConfigSpec) -> Task: ... + def TurnOffFaultTolerance(self) -> Task: ... + def MakePrimary(self, vm: VirtualMachine) -> Task: ... + def TerminateFaultTolerantVM(self, vm: VirtualMachine) -> Task: ... + def DisableSecondary(self, vm: VirtualMachine) -> Task: ... + def EnableSecondary(self, vm: VirtualMachine, host: HostSystem) -> Task: ... + def SetDisplayTopology(self, displays: List[VirtualMachine.DisplayTopology]) -> NoneType: ... + def StartRecording(self, name: str, description: str) -> Task: ... + def StopRecording(self) -> Task: ... + def StartReplaying(self, replaySnapshot: vm.Snapshot) -> Task: ... + def StopReplaying(self) -> Task: ... + def PromoteDisks(self, unlink: bool, disks: List[vm.device.VirtualDisk]) -> Task: ... + def CreateScreenshot(self) -> Task: ... + def PutUsbScanCodes(self, spec: vm.UsbScanCodeSpec) -> int: ... + def QueryChangedDiskAreas(self, snapshot: vm.Snapshot, deviceKey: int, startOffset: long, changeId: str) -> VirtualMachine.DiskChangeInfo: ... + def QueryUnownedFiles(self) -> List[str]: ... + def ReloadFromPath(self, configurationPath: str) -> Task: ... + def QueryFaultToleranceCompatibility(self) -> List[vmodl.MethodFault]: ... + def QueryFaultToleranceCompatibilityEx(self, forLegacyFt: bool) -> List[vmodl.MethodFault]: ... + def Terminate(self) -> NoneType: ... + def SendNMI(self) -> NoneType: ... + def AttachDisk(self, diskId: vslm.ID, datastore: Datastore, controllerKey: int, unitNumber: int) -> Task: ... + def DetachDisk(self, diskId: vslm.ID) -> Task: ... + def ApplyEvcMode(self, mask: List[host.FeatureMask], completeMasks: bool) -> Task: ... + def CryptoUnlock(self) -> Task: ... + + + class Connection(vmodl.DynamicData): + @property + def label(self) -> str: ... + @property + def client(self) -> str: ... + @property + def userName(self) -> str: ... + + + class DiskChangeInfo(vmodl.DynamicData): + @property + def startOffset(self) -> long: ... + @property + def length(self) -> long: ... + @property + def changedArea(self) -> List[VirtualMachine.DiskChangeInfo.DiskChangeExtent]: ... + + + class DiskChangeExtent(vmodl.DynamicData): + @property + def start(self) -> long: ... + @property + def length(self) -> long: ... + + + class DisplayTopology(vmodl.DynamicData): + @property + def x(self) -> int: ... + @property + def y(self) -> int: ... + @property + def width(self) -> int: ... + @property + def height(self) -> int: ... + + + class MksConnection(VirtualMachine.Connection): ... + + + class MksTicket(vmodl.DynamicData): + @property + def ticket(self) -> str: ... + @property + def cfgFile(self) -> str: ... + @property + def host(self) -> str: ... + @property + def port(self) -> int: ... + @property + def sslThumbprint(self) -> str: ... + + + class StorageRequirement(vmodl.DynamicData): + @property + def datastore(self) -> Datastore: ... + @property + def freeSpaceRequiredInKb(self) -> long: ... + + + class Ticket(vmodl.DynamicData): + @property + def ticket(self) -> str: ... + @property + def cfgFile(self) -> str: ... + @property + def host(self) -> str: ... + @property + def port(self) -> int: ... + @property + def sslThumbprint(self) -> str: ... + @property + def certThumbprintList(self) -> List[vm.CertThumbprint]: ... + @property + def url(self) -> str: ... + + + class WipeResult(vmodl.DynamicData): + @property + def diskId(self) -> int: ... + @property + def shrinkableDiskSpace(self) -> long: ... + + + class AppHeartbeatStatusType(Enum): + appStatusGray = "appstatusgray" + appStatusGreen = "appstatusgreen" + appStatusRed = "appstatusred" + + + class FaultToleranceState(Enum): + notConfigured = "notconfigured" + disabled = "disabled" + enabled = "enabled" + needSecondary = "needsecondary" + starting = "starting" + running = "running" + + + class FaultToleranceType(Enum): + unset = "unset" + recordReplay = "recordreplay" + checkpointing = "checkpointing" + + + class MovePriority(Enum): + lowPriority = "lowpriority" + highPriority = "highpriority" + defaultPriority = "defaultpriority" + + + class NeedSecondaryReason(Enum): + initializing = "initializing" + divergence = "divergence" + lostConnection = "lostconnection" + partialHardwareFailure = "partialhardwarefailure" + userAction = "useraction" + checkpointError = "checkpointerror" + other = "other" + + + class RecordReplayState(Enum): + recording = "recording" + replaying = "replaying" + inactive = "inactive" + + +class VirtualizationManager(ManagedObject): ... + + +class VsanUpgradeSystem(ManagedObject): + def PerformUpgradePreflightCheck(self, cluster: ClusterComputeResource, downgradeFormat: bool) -> VsanUpgradeSystem.PreflightCheckResult: ... + def QueryUpgradeStatus(self, cluster: ClusterComputeResource) -> VsanUpgradeSystem.UpgradeStatus: ... + def PerformUpgrade(self, cluster: ClusterComputeResource, performObjectUpgrade: bool, downgradeFormat: bool, allowReducedRedundancy: bool, excludeHosts: List[HostSystem]) -> Task: ... + + + class APIBrokenIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def hosts(self) -> List[HostSystem]: ... + + + class AutoClaimEnabledOnHostsIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def hosts(self) -> List[HostSystem]: ... + + + class HostsDisconnectedIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def hosts(self) -> List[HostSystem]: ... + + + class MissingHostsInClusterIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def hosts(self) -> List[HostSystem]: ... + + + class NetworkPartitionInfo(vmodl.DynamicData): + @property + def hosts(self) -> List[HostSystem]: ... + + + class NetworkPartitionIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def partitions(self) -> List[VsanUpgradeSystem.NetworkPartitionInfo]: ... + + + class NotEnoughFreeCapacityIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def reducedRedundancyUpgradePossible(self) -> bool: ... + + + class PreflightCheckIssue(vmodl.DynamicData): + @property + def msg(self) -> str: ... + + + class PreflightCheckResult(vmodl.DynamicData): + @property + def issues(self) -> List[VsanUpgradeSystem.PreflightCheckIssue]: ... + @property + def diskMappingToRestore(self) -> vsan.host.DiskMapping: ... + + + class RogueHostsInClusterIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def uuids(self) -> List[str]: ... + + + class UpgradeHistoryDiskGroupOp(VsanUpgradeSystem.UpgradeHistoryItem): + @property + def operation(self) -> str: ... + @property + def diskMapping(self) -> vsan.host.DiskMapping: ... + + + class UpgradeHistoryItem(vmodl.DynamicData): + @property + def timestamp(self) -> datetime: ... + @property + def host(self) -> HostSystem: ... + @property + def message(self) -> str: ... + @property + def task(self) -> Task: ... + + + class UpgradeHistoryPreflightFail(VsanUpgradeSystem.UpgradeHistoryItem): + @property + def preflightResult(self) -> VsanUpgradeSystem.PreflightCheckResult: ... + + + class UpgradeStatus(vmodl.DynamicData): + @property + def inProgress(self) -> bool: ... + @property + def history(self) -> List[VsanUpgradeSystem.UpgradeHistoryItem]: ... + @property + def aborted(self) -> bool: ... + @property + def completed(self) -> bool: ... + @property + def progress(self) -> int: ... + + + class V2ObjectsPresentDuringDowngradeIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def uuids(self) -> List[str]: ... + + + class WrongEsxVersionIssue(VsanUpgradeSystem.PreflightCheckIssue): + @property + def hosts(self) -> List[HostSystem]: ... + + + class UpgradeHistoryDiskGroupOpType(Enum): + add = "add" + remove = "remove" + + +class AboutInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def fullName(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def version(self) -> str: ... + @property + def patchLevel(self) -> str: ... + @property + def build(self) -> str: ... + @property + def localeVersion(self) -> str: ... + @property + def localeBuild(self) -> str: ... + @property + def osType(self) -> str: ... + @property + def productLineId(self) -> str: ... + @property + def apiType(self) -> str: ... + @property + def apiVersion(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + @property + def licenseProductName(self) -> str: ... + @property + def licenseProductVersion(self) -> str: ... + + +class AuthorizationDescription(vmodl.DynamicData): + @property + def privilege(self) -> List[ElementDescription]: ... + @property + def privilegeGroup(self) -> List[ElementDescription]: ... + + +class BatchResult(vmodl.DynamicData): + @property + def result(self) -> str: ... + @property + def hostKey(self) -> str: ... + @property + def ds(self) -> Datastore: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class Result(Enum): + success = "success" + fail = "fail" + + +class BoolPolicy(InheritablePolicy): + @property + def value(self) -> bool: ... + + +class Capability(vmodl.DynamicData): + @property + def provisioningSupported(self) -> bool: ... + @property + def multiHostSupported(self) -> bool: ... + @property + def userShellAccessSupported(self) -> bool: ... + @property + def supportedEVCMode(self) -> List[EVCMode]: ... + @property + def supportedEVCGraphicsMode(self) -> List[FeatureEVCMode]: ... + @property + def networkBackupAndRestoreSupported(self) -> bool: ... + @property + def ftDrsWithoutEvcSupported(self) -> bool: ... + @property + def hciWorkflowSupported(self) -> bool: ... + @property + def computePolicyVersion(self) -> int: ... + @property + def clusterPlacementSupported(self) -> bool: ... + @property + def lifecycleManagementSupported(self) -> bool: ... + @property + def hostSeedingSupported(self) -> bool: ... + @property + def scalableSharesSupported(self) -> bool: ... + @property + def hadcsSupported(self) -> bool: ... + @property + def configMgmtSupported(self) -> bool: ... + + +class CustomizationSpecInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def type(self) -> str: ... + @property + def changeVersion(self) -> str: ... + @property + def lastUpdateTime(self) -> datetime: ... + + +class CustomizationSpecItem(vmodl.DynamicData): + @property + def info(self) -> CustomizationSpecInfo: ... + @property + def spec(self) -> vm.customization.Specification: ... + + +class Description(vmodl.DynamicData): + @property + def label(self) -> str: ... + @property + def summary(self) -> str: ... + + +class DesiredSoftwareSpec(vmodl.DynamicData): + @property + def baseImageSpec(self) -> DesiredSoftwareSpec.BaseImageSpec: ... + @property + def vendorAddOnSpec(self) -> DesiredSoftwareSpec.VendorAddOnSpec: ... + @property + def components(self) -> List[DesiredSoftwareSpec.ComponentSpec]: ... + + + class BaseImageSpec(vmodl.DynamicData): + @property + def version(self) -> str: ... + + + class ComponentSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + + + class VendorAddOnSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + + +class EVCMode(ElementDescription): + @property + def guaranteedCPUFeatures(self) -> List[host.CpuIdInfo]: ... + @property + def featureCapability(self) -> List[host.FeatureCapability]: ... + @property + def featureMask(self) -> List[host.FeatureMask]: ... + @property + def featureRequirement(self) -> List[vm.FeatureRequirement]: ... + @property + def vendor(self) -> str: ... + @property + def track(self) -> List[str]: ... + @property + def vendorTier(self) -> int: ... + + +class ElementDescription(Description): + @property + def key(self) -> str: ... + + +class EnumDescription(vmodl.DynamicData): + @property + def key(self) -> type: ... + @property + def tags(self) -> List[ElementDescription]: ... + + +class ExtendedDescription(Description): + @property + def messageCatalogKeyPrefix(self) -> str: ... + @property + def messageArg(self) -> List[vmodl.KeyAnyValue]: ... + + +class ExtendedElementDescription(ElementDescription): + @property + def messageCatalogKeyPrefix(self) -> str: ... + @property + def messageArg(self) -> List[vmodl.KeyAnyValue]: ... + + +class Extension(vmodl.DynamicData): + @property + def description(self) -> Description: ... + @property + def key(self) -> str: ... + @property + def company(self) -> str: ... + @property + def type(self) -> str: ... + @property + def version(self) -> str: ... + @property + def subjectName(self) -> str: ... + @property + def server(self) -> List[Extension.ServerInfo]: ... + @property + def client(self) -> List[Extension.ClientInfo]: ... + @property + def taskList(self) -> List[Extension.TaskTypeInfo]: ... + @property + def eventList(self) -> List[Extension.EventTypeInfo]: ... + @property + def faultList(self) -> List[Extension.FaultTypeInfo]: ... + @property + def privilegeList(self) -> List[Extension.PrivilegeInfo]: ... + @property + def resourceList(self) -> List[Extension.ResourceInfo]: ... + @property + def lastHeartbeatTime(self) -> datetime: ... + @property + def healthInfo(self) -> Extension.HealthInfo: ... + @property + def ovfConsumerInfo(self) -> Extension.OvfConsumerInfo: ... + @property + def extendedProductInfo(self) -> ext.ExtendedProductInfo: ... + @property + def managedEntityInfo(self) -> List[ext.ManagedEntityInfo]: ... + @property + def shownInSolutionManager(self) -> bool: ... + @property + def solutionManagerInfo(self) -> ext.SolutionManagerInfo: ... + + + class ClientInfo(vmodl.DynamicData): + @property + def version(self) -> str: ... + @property + def description(self) -> Description: ... + @property + def company(self) -> str: ... + @property + def type(self) -> str: ... + @property + def url(self) -> str: ... + + + class EventTypeInfo(vmodl.DynamicData): + @property + def eventID(self) -> str: ... + @property + def eventTypeSchema(self) -> str: ... + + + class FaultTypeInfo(vmodl.DynamicData): + @property + def faultID(self) -> str: ... + + + class HealthInfo(vmodl.DynamicData): + @property + def url(self) -> str: ... + + + class OvfConsumerInfo(vmodl.DynamicData): + @property + def callbackUrl(self) -> str: ... + @property + def sectionType(self) -> List[str]: ... + + + class PrivilegeInfo(vmodl.DynamicData): + @property + def privID(self) -> str: ... + @property + def privGroupName(self) -> str: ... + + + class ResourceInfo(vmodl.DynamicData): + @property + def locale(self) -> str: ... + @property + def module(self) -> str: ... + @property + def data(self) -> List[KeyValue]: ... + + + class ServerInfo(vmodl.DynamicData): + @property + def url(self) -> str: ... + @property + def description(self) -> Description: ... + @property + def company(self) -> str: ... + @property + def type(self) -> str: ... + @property + def adminEmail(self) -> List[str]: ... + @property + def serverThumbprint(self) -> str: ... + + + class TaskTypeInfo(vmodl.DynamicData): + @property + def taskID(self) -> str: ... + + +class FaultsByHost(vmodl.DynamicData): + @property + def host(self) -> HostSystem: ... + @property + def faults(self) -> List[vmodl.MethodFault]: ... + + +class FaultsByVM(vmodl.DynamicData): + @property + def vm(self) -> VirtualMachine: ... + @property + def faults(self) -> List[vmodl.MethodFault]: ... + + +class FeatureEVCMode(ElementDescription): + @property + def mask(self) -> List[host.FeatureMask]: ... + @property + def capability(self) -> List[host.FeatureCapability]: ... + @property + def requirement(self) -> List[vm.FeatureRequirement]: ... + + +class ReplicationVmInfo(vmodl.DynamicData): + @property + def state(self) -> str: ... + @property + def progressInfo(self) -> HbrManager.ReplicationVmInfo.ProgressInfo: ... + @property + def imageId(self) -> str: ... + @property + def lastError(self) -> vmodl.MethodFault: ... + + + class State(Enum): + none = "none" + paused = "paused" + syncing = "syncing" + idle = "idle" + active = "active" + error = "error" + + +class ProgressInfo(vmodl.DynamicData): + @property + def progress(self) -> int: ... + @property + def bytesTransferred(self) -> long: ... + @property + def bytesToTransfer(self) -> long: ... + @property + def checksumTotalBytes(self) -> long: ... + @property + def checksumComparedBytes(self) -> long: ... + + +class VmReplicationCapability(vmodl.DynamicData): + @property + def vm(self) -> VirtualMachine: ... + @property + def supportedQuiesceMode(self) -> str: ... + @property + def compressionSupported(self) -> bool: ... + @property + def maxSupportedSourceDiskCapacity(self) -> long: ... + @property + def minRpo(self) -> long: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class QuiesceMode(Enum): + application = "application" + filesystem = "filesystem" + none = "none" + + +class HealthUpdate(vmodl.DynamicData): + @property + def entity(self) -> ManagedEntity: ... + @property + def healthUpdateInfoId(self) -> str: ... + @property + def id(self) -> str: ... + @property + def status(self) -> ManagedEntity.Status: ... + @property + def remediation(self) -> str: ... + + +class HealthUpdateInfo(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def componentType(self) -> str: ... + @property + def description(self) -> str: ... + + + class ComponentType(Enum): + Memory = "memory" + Power = "power" + Fan = "fan" + Network = "network" + Storage = "storage" + + +class HistoricalInterval(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def samplingPeriod(self) -> int: ... + @property + def name(self) -> str: ... + @property + def length(self) -> int: ... + @property + def level(self) -> int: ... + @property + def enabled(self) -> bool: ... + + +class HostServiceTicket(vmodl.DynamicData): + @property + def host(self) -> str: ... + @property + def port(self) -> int: ... + @property + def sslThumbprint(self) -> str: ... + @property + def service(self) -> str: ... + @property + def serviceVersion(self) -> str: ... + @property + def sessionId(self) -> str: ... + + +class ImportSpec(vmodl.DynamicData): + @property + def entityConfig(self) -> vApp.EntityConfigInfo: ... + @property + def instantiationOst(self) -> OvfConsumer.OstNode: ... + + +class InheritablePolicy(vmodl.DynamicData): + @property + def inherited(self) -> bool: ... + + +class IntExpression(NegatableExpression): + @property + def value(self) -> int: ... + + +class IntPolicy(InheritablePolicy): + @property + def value(self) -> int: ... + + +class IpAddress(NegatableExpression): ... + + +class IpRange(IpAddress): + @property + def addressPrefix(self) -> str: ... + @property + def prefixLength(self) -> int: ... + + +class KeyValue(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> str: ... + + +class LatencySensitivity(vmodl.DynamicData): + @property + def level(self) -> LatencySensitivity.SensitivityLevel: ... + @property + def sensitivity(self) -> int: ... + + + class SensitivityLevel(Enum): + low = "low" + normal = "normal" + medium = "medium" + high = "high" + custom = "custom" + + +class LongPolicy(InheritablePolicy): + @property + def value(self) -> long: ... + + +class MacAddress(NegatableExpression): ... + + +class MacRange(MacAddress): + @property + def address(self) -> str: ... + @property + def mask(self) -> str: ... + + +class MethodDescription(Description): + @property + def key(self) -> ManagedMethod: ... + + +class NegatableExpression(vmodl.DynamicData): + @property + def negate(self) -> bool: ... + + +class NumericRange(vmodl.DynamicData): + @property + def start(self) -> int: ... + @property + def end(self) -> int: ... + + +class OstNode(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def type(self) -> str: ... + @property + def section(self) -> List[OvfConsumer.OvfSection]: ... + @property + def child(self) -> List[OvfConsumer.OstNode]: ... + @property + def entity(self) -> ManagedEntity: ... + + +class OvfSection(vmodl.DynamicData): + @property + def lineNumber(self) -> int: ... + @property + def xml(self) -> str: ... + + +class PasswordField(vmodl.DynamicData): + @property + def value(self) -> str: ... + + +class PerformanceDescription(vmodl.DynamicData): + @property + def counterType(self) -> List[ElementDescription]: ... + @property + def statsType(self) -> List[ElementDescription]: ... + + +class PosixUserSearchResult(UserSearchResult): + @property + def id(self) -> int: ... + @property + def shellAccess(self) -> bool: ... + + +class PrivilegePolicyDef(vmodl.DynamicData): + @property + def createPrivilege(self) -> str: ... + @property + def readPrivilege(self) -> str: ... + @property + def updatePrivilege(self) -> str: ... + @property + def deletePrivilege(self) -> str: ... + + +class ResourceAllocationInfo(vmodl.DynamicData): + @property + def reservation(self) -> long: ... + @property + def expandableReservation(self) -> bool: ... + @property + def limit(self) -> long: ... + @property + def shares(self) -> SharesInfo: ... + @property + def overheadLimit(self) -> long: ... + + +class ResourceAllocationOption(vmodl.DynamicData): + @property + def sharesOption(self) -> SharesOption: ... + + +class ResourceConfigOption(vmodl.DynamicData): + @property + def cpuAllocationOption(self) -> ResourceAllocationOption: ... + @property + def memoryAllocationOption(self) -> ResourceAllocationOption: ... + + +class ResourceConfigSpec(vmodl.DynamicData): + @property + def entity(self) -> ManagedEntity: ... + @property + def changeVersion(self) -> str: ... + @property + def lastModified(self) -> datetime: ... + @property + def cpuAllocation(self) -> ResourceAllocationInfo: ... + @property + def memoryAllocation(self) -> ResourceAllocationInfo: ... + @property + def scaleDescendantsShares(self) -> str: ... + + + class ScaleSharesBehavior(Enum): + disabled = "disabled" + scaleCpuAndMemoryShares = "scalecpuandmemoryshares" + + +class SDDCBase(vmodl.DynamicData): ... + + +class SelectionSet(vmodl.DynamicData): ... + + +class ServiceInstanceContent(vmodl.DynamicData): + @property + def rootFolder(self) -> Folder: ... + @property + def propertyCollector(self) -> vmodl.query.PropertyCollector: ... + @property + def viewManager(self) -> view.ViewManager: ... + @property + def about(self) -> AboutInfo: ... + @property + def setting(self) -> option.OptionManager: ... + @property + def userDirectory(self) -> UserDirectory: ... + @property + def sessionManager(self) -> SessionManager: ... + @property + def authorizationManager(self) -> AuthorizationManager: ... + @property + def serviceManager(self) -> ServiceManager: ... + @property + def perfManager(self) -> PerformanceManager: ... + @property + def scheduledTaskManager(self) -> scheduler.ScheduledTaskManager: ... + @property + def alarmManager(self) -> alarm.AlarmManager: ... + @property + def eventManager(self) -> event.EventManager: ... + @property + def taskManager(self) -> TaskManager: ... + @property + def extensionManager(self) -> ExtensionManager: ... + @property + def customizationSpecManager(self) -> CustomizationSpecManager: ... + @property + def guestCustomizationManager(self) -> vm.GuestCustomizationManager: ... + @property + def customFieldsManager(self) -> CustomFieldsManager: ... + @property + def accountManager(self) -> host.LocalAccountManager: ... + @property + def diagnosticManager(self) -> DiagnosticManager: ... + @property + def licenseManager(self) -> LicenseManager: ... + @property + def searchIndex(self) -> SearchIndex: ... + @property + def fileManager(self) -> FileManager: ... + @property + def datastoreNamespaceManager(self) -> DatastoreNamespaceManager: ... + @property + def virtualDiskManager(self) -> VirtualDiskManager: ... + @property + def virtualizationManager(self) -> VirtualizationManager: ... + @property + def snmpSystem(self) -> host.SnmpSystem: ... + @property + def vmProvisioningChecker(self) -> vm.check.ProvisioningChecker: ... + @property + def vmCompatibilityChecker(self) -> vm.check.CompatibilityChecker: ... + @property + def ovfManager(self) -> OvfManager: ... + @property + def ipPoolManager(self) -> IpPoolManager: ... + @property + def dvSwitchManager(self) -> dvs.DistributedVirtualSwitchManager: ... + @property + def hostProfileManager(self) -> profile.host.ProfileManager: ... + @property + def clusterProfileManager(self) -> profile.cluster.ProfileManager: ... + @property + def complianceManager(self) -> profile.ComplianceManager: ... + @property + def localizationManager(self) -> LocalizationManager: ... + @property + def storageResourceManager(self) -> StorageResourceManager: ... + @property + def guestOperationsManager(self) -> vm.guest.GuestOperationsManager: ... + @property + def overheadMemoryManager(self) -> OverheadMemoryManager: ... + @property + def certificateManager(self) -> CertificateManager: ... + @property + def ioFilterManager(self) -> IoFilterManager: ... + @property + def vStorageObjectManager(self) -> vslm.VStorageObjectManagerBase: ... + @property + def hostSpecManager(self) -> profile.host.HostSpecificationManager: ... + @property + def cryptoManager(self) -> encryption.CryptoManager: ... + @property + def healthUpdateManager(self) -> HealthUpdateManager: ... + @property + def failoverClusterConfigurator(self) -> vcha.FailoverClusterConfigurator: ... + @property + def failoverClusterManager(self) -> vcha.FailoverClusterManager: ... + @property + def tenantManager(self) -> tenant.TenantManager: ... + @property + def siteInfoManager(self) -> SiteInfoManager: ... + @property + def storageQueryManager(self) -> StorageQueryManager: ... + + +class ServiceLocator(vmodl.DynamicData): + @property + def instanceUuid(self) -> str: ... + @property + def url(self) -> str: ... + @property + def credential(self) -> ServiceLocator.Credential: ... + @property + def sslThumbprint(self) -> str: ... + + + class Credential(vmodl.DynamicData): ... + + + class NamePassword(ServiceLocator.Credential): + @property + def username(self) -> str: ... + @property + def password(self) -> str: ... + + + class SAMLCredential(ServiceLocator.Credential): + @property + def token(self) -> str: ... + + +class SharesInfo(vmodl.DynamicData): + @property + def shares(self) -> int: ... + @property + def level(self) -> SharesInfo.Level: ... + + + class Level(Enum): + low = "low" + normal = "normal" + high = "high" + custom = "custom" + + +class SharesOption(vmodl.DynamicData): + @property + def sharesOption(self) -> option.IntOption: ... + @property + def defaultLevel(self) -> SharesInfo.Level: ... + + +class SingleIp(IpAddress): + @property + def address(self) -> str: ... + + +class SingleMac(MacAddress): + @property + def address(self) -> str: ... + + +class SiteInfo(vmodl.DynamicData): ... + + +class StringExpression(NegatableExpression): + @property + def value(self) -> str: ... + + +class StringPolicy(InheritablePolicy): + @property + def value(self) -> str: ... + + +class Tag(vmodl.DynamicData): + @property + def key(self) -> str: ... + + +class TaskDescription(vmodl.DynamicData): + @property + def methodInfo(self) -> List[ElementDescription]: ... + @property + def state(self) -> List[ElementDescription]: ... + @property + def reason(self) -> List[TypeDescription]: ... + + +class TaskFilterSpec(vmodl.DynamicData): + @property + def entity(self) -> TaskFilterSpec.ByEntity: ... + @property + def time(self) -> TaskFilterSpec.ByTime: ... + @property + def userName(self) -> TaskFilterSpec.ByUsername: ... + @property + def activationId(self) -> List[str]: ... + @property + def state(self) -> List[TaskInfo.State]: ... + @property + def alarm(self) -> alarm.Alarm: ... + @property + def scheduledTask(self) -> scheduler.ScheduledTask: ... + @property + def eventChainId(self) -> List[int]: ... + @property + def tag(self) -> List[str]: ... + @property + def parentTaskKey(self) -> List[str]: ... + @property + def rootTaskKey(self) -> List[str]: ... + + + class ByEntity(vmodl.DynamicData): + @property + def entity(self) -> ManagedEntity: ... + @property + def recursion(self) -> TaskFilterSpec.RecursionOption: ... + + + class ByTime(vmodl.DynamicData): + @property + def timeType(self) -> TaskFilterSpec.TimeOption: ... + @property + def beginTime(self) -> datetime: ... + @property + def endTime(self) -> datetime: ... + + + class ByUsername(vmodl.DynamicData): + @property + def systemUser(self) -> bool: ... + @property + def userList(self) -> List[str]: ... + + + class RecursionOption(Enum): + self = "self" + children = "children" + all = "all" + + + class TimeOption(Enum): + queuedTime = "queuedtime" + startedTime = "startedtime" + completedTime = "completedtime" + + +class TaskInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def task(self) -> Task: ... + @property + def description(self) -> vmodl.LocalizableMessage: ... + @property + def name(self) -> ManagedMethod: ... + @property + def descriptionId(self) -> str: ... + @property + def entity(self) -> ManagedEntity: ... + @property + def entityName(self) -> str: ... + @property + def locked(self) -> List[ManagedEntity]: ... + @property + def state(self) -> TaskInfo.State: ... + @property + def cancelled(self) -> bool: ... + @property + def cancelable(self) -> bool: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def result(self) -> object: ... + @property + def progress(self) -> int: ... + @property + def progressDetails(self) -> List[vmodl.KeyAnyValue]: ... + @property + def reason(self) -> TaskReason: ... + @property + def queueTime(self) -> datetime: ... + @property + def startTime(self) -> datetime: ... + @property + def completeTime(self) -> datetime: ... + @property + def eventChainId(self) -> int: ... + @property + def changeTag(self) -> str: ... + @property + def parentTaskKey(self) -> str: ... + @property + def rootTaskKey(self) -> str: ... + @property + def activationId(self) -> str: ... + + +class TaskReason(vmodl.DynamicData): ... + + +class TaskReasonAlarm(TaskReason): + @property + def alarmName(self) -> str: ... + @property + def alarm(self) -> alarm.Alarm: ... + @property + def entityName(self) -> str: ... + @property + def entity(self) -> ManagedEntity: ... + + +class TaskReasonSchedule(TaskReason): + @property + def name(self) -> str: ... + @property + def scheduledTask(self) -> scheduler.ScheduledTask: ... + + +class TaskReasonSystem(TaskReason): ... + + +class TaskReasonUser(TaskReason): + @property + def userName(self) -> str: ... + + +class TypeDescription(Description): + @property + def key(self) -> type: ... + + +class UpdateVirtualMachineFilesResult(vmodl.DynamicData): + @property + def failedVmFile(self) -> List[UpdateVirtualMachineFilesResult.FailedVmFileInfo]: ... + + + class FailedVmFileInfo(vmodl.DynamicData): + @property + def vmFile(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class UserSearchResult(vmodl.DynamicData): + @property + def principal(self) -> str: ... + @property + def fullName(self) -> str: ... + @property + def group(self) -> bool: ... + + +class UserSession(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def userName(self) -> str: ... + @property + def fullName(self) -> str: ... + @property + def loginTime(self) -> datetime: ... + @property + def lastActiveTime(self) -> datetime: ... + @property + def locale(self) -> str: ... + @property + def messageLocale(self) -> str: ... + @property + def extensionSession(self) -> bool: ... + @property + def ipAddress(self) -> str: ... + @property + def userAgent(self) -> str: ... + @property + def callCount(self) -> long: ... + + +class VVolVmConfigFileUpdateResult(vmodl.DynamicData): + @property + def succeededVmConfigFile(self) -> List[KeyValue]: ... + @property + def failedVmConfigFile(self) -> List[VVolVmConfigFileUpdateResult.FailedVmConfigFileInfo]: ... + + + class FailedVmConfigFileInfo(vmodl.DynamicData): + @property + def targetConfigVVolId(self) -> str: ... + @property + def dsPath(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class VasaStorageArray(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def vendorId(self) -> str: ... + @property + def modelId(self) -> str: ... + @property + def discoverySvcInfo(self) -> List[VasaStorageArray.DiscoverySvcInfo]: ... + + + class DiscoveryFcTransport(vmodl.DynamicData): + @property + def nodeWwn(self) -> str: ... + @property + def portWwn(self) -> str: ... + + + class DiscoveryIpTransport(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def portNumber(self) -> str: ... + + + class DiscoverySvcInfo(vmodl.DynamicData): + @property + def portType(self) -> str: ... + @property + def svcNqn(self) -> str: ... + @property + def ipInfo(self) -> VasaStorageArray.DiscoveryIpTransport: ... + @property + def fcInfo(self) -> VasaStorageArray.DiscoveryFcTransport: ... + + +class VasaProviderContainerSpec(vmodl.DynamicData): + @property + def vasaProviderInfo(self) -> List[VimVasaProviderInfo]: ... + @property + def scId(self) -> str: ... + @property + def deleted(self) -> bool: ... + + +class VimVasaProvider(vmodl.DynamicData): + @property + def uid(self) -> str: ... + @property + def url(self) -> str: ... + @property + def name(self) -> str: ... + @property + def selfSignedCertificate(self) -> str: ... + @property + def vhostConfig(self) -> VimVasaProvider.VirtualHostConfig: ... + @property + def versionId(self) -> int: ... + + + class StatePerArray(vmodl.DynamicData): + @property + def priority(self) -> int: ... + @property + def arrayId(self) -> str: ... + @property + def active(self) -> bool: ... + + + class VirtualHostConfig(vmodl.DynamicData): + @property + def vhostName(self) -> str: ... + @property + def serviceHost(self) -> str: ... + @property + def servicePort(self) -> int: ... + + +class VimVasaProviderInfo(vmodl.DynamicData): + @property + def provider(self) -> VimVasaProvider: ... + @property + def arrayState(self) -> List[VimVasaProvider.StatePerArray]: ... + + +class ApplyRecommendationResult(vmodl.DynamicData): + @property + def vm(self) -> VirtualMachine: ... + + +class AutomationConfig(vmodl.DynamicData): + @property + def spaceLoadBalanceAutomationMode(self) -> str: ... + @property + def ioLoadBalanceAutomationMode(self) -> str: ... + @property + def ruleEnforcementAutomationMode(self) -> str: ... + @property + def policyEnforcementAutomationMode(self) -> str: ... + @property + def vmEvacuationAutomationMode(self) -> str: ... + + +class ConfigInfo(vmodl.DynamicData): + @property + def podConfig(self) -> storageDrs.PodConfigInfo: ... + @property + def vmConfig(self) -> List[storageDrs.VmConfigInfo]: ... + + +class ConfigSpec(vmodl.DynamicData): + @property + def podConfigSpec(self) -> storageDrs.PodConfigSpec: ... + @property + def vmConfigSpec(self) -> List[storageDrs.VmConfigSpec]: ... + + +class HbrDiskMigrationAction(cluster.Action): + @property + def collectionId(self) -> str: ... + @property + def collectionName(self) -> str: ... + @property + def diskIds(self) -> List[str]: ... + @property + def source(self) -> Datastore: ... + @property + def destination(self) -> Datastore: ... + @property + def sizeTransferred(self) -> long: ... + @property + def spaceUtilSrcBefore(self) -> float: ... + @property + def spaceUtilDstBefore(self) -> float: ... + @property + def spaceUtilSrcAfter(self) -> float: ... + @property + def spaceUtilDstAfter(self) -> float: ... + @property + def ioLatencySrcBefore(self) -> float: ... + @property + def ioLatencyDstBefore(self) -> float: ... + + +class IoLoadBalanceConfig(vmodl.DynamicData): + @property + def reservablePercentThreshold(self) -> int: ... + @property + def reservableIopsThreshold(self) -> int: ... + @property + def reservableThresholdMode(self) -> str: ... + @property + def ioLatencyThreshold(self) -> int: ... + @property + def ioLoadImbalanceThreshold(self) -> int: ... + + +class OptionSpec(option.ArrayUpdateSpec): + @property + def option(self) -> option.OptionValue: ... + + +class PlacementAffinityRule(vmodl.DynamicData): + @property + def ruleType(self) -> str: ... + @property + def ruleScope(self) -> str: ... + @property + def vms(self) -> List[VirtualMachine]: ... + @property + def keys(self) -> List[str]: ... + + + class RuleScope(Enum): + cluster = "cluster" + host = "host" + storagePod = "storagepod" + datastore = "datastore" + + + class RuleType(Enum): + affinity = "affinity" + antiAffinity = "antiaffinity" + softAffinity = "softaffinity" + softAntiAffinity = "softantiaffinity" + + +class PlacementRankResult(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def candidate(self) -> ClusterComputeResource: ... + @property + def reservedSpaceMB(self) -> long: ... + @property + def usedSpaceMB(self) -> long: ... + @property + def totalSpaceMB(self) -> long: ... + @property + def utilization(self) -> double: ... + @property + def faults(self) -> List[vmodl.MethodFault]: ... + + +class PlacementRankSpec(vmodl.DynamicData): + @property + def specs(self) -> List[cluster.PlacementSpec]: ... + @property + def clusters(self) -> List[ClusterComputeResource]: ... + @property + def rules(self) -> List[storageDrs.PlacementAffinityRule]: ... + @property + def placementRankByVm(self) -> List[storageDrs.PlacementRankVmSpec]: ... + + +class PlacementRankVmSpec(vmodl.DynamicData): + @property + def vmPlacementSpec(self) -> cluster.PlacementSpec: ... + @property + def vmClusters(self) -> List[ClusterComputeResource]: ... + + +class PodConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def ioLoadBalanceEnabled(self) -> bool: ... + @property + def defaultVmBehavior(self) -> str: ... + @property + def loadBalanceInterval(self) -> int: ... + @property + def defaultIntraVmAffinity(self) -> bool: ... + @property + def spaceLoadBalanceConfig(self) -> storageDrs.SpaceLoadBalanceConfig: ... + @property + def ioLoadBalanceConfig(self) -> storageDrs.IoLoadBalanceConfig: ... + @property + def automationOverrides(self) -> storageDrs.AutomationConfig: ... + @property + def rule(self) -> List[cluster.RuleInfo]: ... + @property + def option(self) -> List[option.OptionValue]: ... + + + class Behavior(Enum): + manual = "manual" + automated = "automated" + + +class PodConfigSpec(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def ioLoadBalanceEnabled(self) -> bool: ... + @property + def defaultVmBehavior(self) -> str: ... + @property + def loadBalanceInterval(self) -> int: ... + @property + def defaultIntraVmAffinity(self) -> bool: ... + @property + def spaceLoadBalanceConfig(self) -> storageDrs.SpaceLoadBalanceConfig: ... + @property + def ioLoadBalanceConfig(self) -> storageDrs.IoLoadBalanceConfig: ... + @property + def automationOverrides(self) -> storageDrs.AutomationConfig: ... + @property + def rule(self) -> List[cluster.RuleSpec]: ... + @property + def option(self) -> List[storageDrs.OptionSpec]: ... + + +class PodSelectionSpec(vmodl.DynamicData): + @property + def initialVmConfig(self) -> List[storageDrs.PodSelectionSpec.VmPodConfig]: ... + @property + def storagePod(self) -> StoragePod: ... + + +class DiskLocator(vmodl.DynamicData): + @property + def diskId(self) -> int: ... + @property + def diskMoveType(self) -> str: ... + @property + def diskBackingInfo(self) -> vm.device.VirtualDevice.BackingInfo: ... + @property + def profile(self) -> List[vm.ProfileSpec]: ... + + +class VmPodConfig(vmodl.DynamicData): + @property + def storagePod(self) -> StoragePod: ... + @property + def disk(self) -> List[storageDrs.PodSelectionSpec.DiskLocator]: ... + @property + def vmConfig(self) -> storageDrs.VmConfigInfo: ... + @property + def interVmRule(self) -> List[cluster.RuleInfo]: ... + + +class SpaceLoadBalanceConfig(vmodl.DynamicData): + @property + def spaceThresholdMode(self) -> str: ... + @property + def spaceUtilizationThreshold(self) -> int: ... + @property + def freeSpaceThresholdGB(self) -> int: ... + @property + def minSpaceUtilizationDifference(self) -> int: ... + + + class SpaceThresholdMode(Enum): + utilization = "utilization" + freeSpace = "freespace" + + +class StorageMigrationAction(cluster.Action): + @property + def vm(self) -> VirtualMachine: ... + @property + def relocateSpec(self) -> vm.RelocateSpec: ... + @property + def source(self) -> Datastore: ... + @property + def destination(self) -> Datastore: ... + @property + def sizeTransferred(self) -> long: ... + @property + def spaceUtilSrcBefore(self) -> float: ... + @property + def spaceUtilDstBefore(self) -> float: ... + @property + def spaceUtilSrcAfter(self) -> float: ... + @property + def spaceUtilDstAfter(self) -> float: ... + @property + def ioLatencySrcBefore(self) -> float: ... + @property + def ioLatencyDstBefore(self) -> float: ... + + +class StoragePlacementAction(cluster.Action): + @property + def vm(self) -> VirtualMachine: ... + @property + def relocateSpec(self) -> vm.RelocateSpec: ... + @property + def destination(self) -> Datastore: ... + @property + def spaceUtilBefore(self) -> float: ... + @property + def spaceDemandBefore(self) -> float: ... + @property + def spaceUtilAfter(self) -> float: ... + @property + def spaceDemandAfter(self) -> float: ... + @property + def ioLatencyBefore(self) -> float: ... + + +class StoragePlacementResult(vmodl.DynamicData): + @property + def recommendations(self) -> List[cluster.Recommendation]: ... + @property + def drsFault(self) -> cluster.DrsFaults: ... + @property + def task(self) -> Task: ... + + +class StoragePlacementSpec(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def priority(self) -> VirtualMachine.MovePriority: ... + @property + def vm(self) -> VirtualMachine: ... + @property + def podSelectionSpec(self) -> storageDrs.PodSelectionSpec: ... + @property + def cloneSpec(self) -> vm.CloneSpec: ... + @property + def cloneName(self) -> str: ... + @property + def configSpec(self) -> vm.ConfigSpec: ... + @property + def relocateSpec(self) -> vm.RelocateSpec: ... + @property + def resourcePool(self) -> ResourcePool: ... + @property + def host(self) -> HostSystem: ... + @property + def folder(self) -> Folder: ... + @property + def disallowPrerequisiteMoves(self) -> bool: ... + @property + def resourceLeaseDurationSec(self) -> int: ... + + + class PlacementType(Enum): + create = "create" + reconfigure = "reconfigure" + relocate = "relocate" + clone = "clone" + + +class VirtualDiskAntiAffinityRuleSpec(cluster.RuleInfo): + @property + def diskId(self) -> List[int]: ... + + +class VirtualDiskRuleSpec(cluster.RuleInfo): + @property + def diskRuleType(self) -> str: ... + @property + def diskId(self) -> List[int]: ... + + +class VmConfigInfo(vmodl.DynamicData): + @property + def vm(self) -> VirtualMachine: ... + @property + def enabled(self) -> bool: ... + @property + def behavior(self) -> str: ... + @property + def intraVmAffinity(self) -> bool: ... + @property + def intraVmAntiAffinity(self) -> storageDrs.VirtualDiskAntiAffinityRuleSpec: ... + @property + def virtualDiskRules(self) -> List[storageDrs.VirtualDiskRuleSpec]: ... + + +class VmConfigSpec(option.ArrayUpdateSpec): + @property + def info(self) -> storageDrs.VmConfigInfo: ... + + +class CloneSpec(vmodl.DynamicData): + @property + def location(self) -> Datastore: ... + @property + def host(self) -> HostSystem: ... + @property + def resourceSpec(self) -> ResourceConfigSpec: ... + @property + def vmFolder(self) -> Folder: ... + @property + def networkMapping(self) -> List[vApp.CloneSpec.NetworkMappingPair]: ... + @property + def property(self) -> List[KeyValue]: ... + @property + def resourceMapping(self) -> List[vApp.CloneSpec.ResourceMap]: ... + @property + def provisioning(self) -> str: ... + + + class ProvisioningType(Enum): + sameAsSource = "sameassource" + thin = "thin" + thick = "thick" + + +class NetworkMappingPair(vmodl.DynamicData): + @property + def source(self) -> Network: ... + @property + def destination(self) -> Network: ... + + +class ResourceMap(vmodl.DynamicData): + @property + def source(self) -> ManagedEntity: ... + @property + def parent(self) -> ResourcePool: ... + @property + def resourceSpec(self) -> ResourceConfigSpec: ... + @property + def location(self) -> Datastore: ... + + +class EntityConfigInfo(vmodl.DynamicData): + @property + def key(self) -> ManagedEntity: ... + @property + def tag(self) -> str: ... + @property + def startOrder(self) -> int: ... + @property + def startDelay(self) -> int: ... + @property + def waitingForGuest(self) -> bool: ... + @property + def startAction(self) -> str: ... + @property + def stopDelay(self) -> int: ... + @property + def stopAction(self) -> str: ... + @property + def destroyWithParent(self) -> bool: ... + + + class Action(Enum): + none = "none" + powerOn = "poweron" + powerOff = "poweroff" + guestShutdown = "guestshutdown" + suspend = "suspend" + + +class IPAssignmentInfo(vmodl.DynamicData): + @property + def supportedAllocationScheme(self) -> List[str]: ... + @property + def ipAllocationPolicy(self) -> str: ... + @property + def supportedIpProtocol(self) -> List[str]: ... + @property + def ipProtocol(self) -> str: ... + + + class AllocationSchemes(Enum): + dhcp = "dhcp" + ovfenv = "ovfenv" + + + class IpAllocationPolicy(Enum): + dhcpPolicy = "dhcppolicy" + transientPolicy = "transientpolicy" + fixedPolicy = "fixedpolicy" + fixedAllocatedPolicy = "fixedallocatedpolicy" + + + class Protocols(Enum): + IPv4 = "ipv4" + IPv6 = "ipv6" + + +class IpPool(vmodl.DynamicData): + @property + def id(self) -> int: ... + @property + def name(self) -> str: ... + @property + def ipv4Config(self) -> vApp.IpPool.IpPoolConfigInfo: ... + @property + def ipv6Config(self) -> vApp.IpPool.IpPoolConfigInfo: ... + @property + def dnsDomain(self) -> str: ... + @property + def dnsSearchPath(self) -> str: ... + @property + def hostPrefix(self) -> str: ... + @property + def httpProxy(self) -> str: ... + @property + def networkAssociation(self) -> List[vApp.IpPool.Association]: ... + @property + def availableIpv4Addresses(self) -> int: ... + @property + def availableIpv6Addresses(self) -> int: ... + @property + def allocatedIpv4Addresses(self) -> int: ... + @property + def allocatedIpv6Addresses(self) -> int: ... + + +class Association(vmodl.DynamicData): + @property + def network(self) -> Network: ... + @property + def networkName(self) -> str: ... + + +class IpPoolConfigInfo(vmodl.DynamicData): + @property + def subnetAddress(self) -> str: ... + @property + def netmask(self) -> str: ... + @property + def gateway(self) -> str: ... + @property + def range(self) -> str: ... + @property + def dns(self) -> List[str]: ... + @property + def dhcpServerAvailable(self) -> bool: ... + @property + def ipPoolEnabled(self) -> bool: ... + + +class OvfSectionInfo(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def namespace(self) -> str: ... + @property + def type(self) -> str: ... + @property + def atEnvelopeLevel(self) -> bool: ... + @property + def contents(self) -> str: ... + + +class OvfSectionSpec(option.ArrayUpdateSpec): + @property + def info(self) -> vApp.OvfSectionInfo: ... + + +class ProductInfo(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def classId(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def name(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def version(self) -> str: ... + @property + def fullVersion(self) -> str: ... + @property + def vendorUrl(self) -> str: ... + @property + def productUrl(self) -> str: ... + @property + def appUrl(self) -> str: ... + + +class ProductSpec(option.ArrayUpdateSpec): + @property + def info(self) -> vApp.ProductInfo: ... + + +class PropertyInfo(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def classId(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def id(self) -> str: ... + @property + def category(self) -> str: ... + @property + def label(self) -> str: ... + @property + def type(self) -> str: ... + @property + def typeReference(self) -> str: ... + @property + def userConfigurable(self) -> bool: ... + @property + def defaultValue(self) -> str: ... + @property + def value(self) -> str: ... + @property + def description(self) -> str: ... + + +class PropertySpec(option.ArrayUpdateSpec): + @property + def info(self) -> vApp.PropertyInfo: ... + + +class VAppConfigInfo(vApp.VmConfigInfo): + @property + def entityConfig(self) -> List[vApp.EntityConfigInfo]: ... + @property + def annotation(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + @property + def managedBy(self) -> ext.ManagedByInfo: ... + + +class VAppConfigSpec(vApp.VmConfigSpec): + @property + def entityConfig(self) -> List[vApp.EntityConfigInfo]: ... + @property + def annotation(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + @property + def managedBy(self) -> ext.ManagedByInfo: ... + + +class VAppImportSpec(ImportSpec): + @property + def name(self) -> str: ... + @property + def vAppConfigSpec(self) -> vApp.VAppConfigSpec: ... + @property + def resourcePoolSpec(self) -> ResourceConfigSpec: ... + @property + def child(self) -> List[ImportSpec]: ... + + +class VmConfigInfo(vmodl.DynamicData): + @property + def product(self) -> List[vApp.ProductInfo]: ... + @property + def property(self) -> List[vApp.PropertyInfo]: ... + @property + def ipAssignment(self) -> vApp.IPAssignmentInfo: ... + @property + def eula(self) -> List[str]: ... + @property + def ovfSection(self) -> List[vApp.OvfSectionInfo]: ... + @property + def ovfEnvironmentTransport(self) -> List[str]: ... + @property + def installBootRequired(self) -> bool: ... + @property + def installBootStopDelay(self) -> int: ... + + +class VmConfigSpec(vmodl.DynamicData): + @property + def product(self) -> List[vApp.ProductSpec]: ... + @property + def property(self) -> List[vApp.PropertySpec]: ... + @property + def ipAssignment(self) -> vApp.IPAssignmentInfo: ... + @property + def eula(self) -> List[str]: ... + @property + def ovfSection(self) -> List[vApp.OvfSectionSpec]: ... + @property + def ovfEnvironmentTransport(self) -> List[str]: ... + @property + def installBootRequired(self) -> bool: ... + @property + def installBootStopDelay(self) -> int: ... + + +class CorrelationState(version.version8): ... + + +class CorrelationState(version.version8): ... + + +class State(version.version7): ... + + +class QuiesceMode(version.version10): ... + + +class OstNodeType(version.version7): ... + + +class RuleScope(version.version10): ... + + +class RuleType(version.version10): ... + + +class Behavior(version.version7): ... + + +class SpaceThresholdMode(version.version10): ... + + +class PlacementType(version.version7): ... + + +class RuleType(version.version12): ... + + +class ProvisioningType(version.version6): ... + + +class Action(version.version5): ... + + +class AllocationSchemes(version.version5): ... + + +class IpAllocationPolicy(version.version5): ... + + +class Protocols(version.version5): ... \ No newline at end of file diff --git a/pyVmomi/vim/action/__init__.pyi b/pyVmomi/vim/action/__init__.pyi new file mode 100644 index 000000000..9a09fe284 --- /dev/null +++ b/pyVmomi/vim/action/__init__.pyi @@ -0,0 +1,57 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import ManagedMethod + + +class Action(vmodl.DynamicData): + + + class ActionParameter(Enum): + targetName = "targetname" + alarmName = "alarmname" + oldStatus = "oldstatus" + newStatus = "newstatus" + triggeringSummary = "triggeringsummary" + declaringSummary = "declaringsummary" + eventDescription = "eventdescription" + target = "target" + alarm = "alarm" + + +class CreateTaskAction(Action): + @property + def taskTypeId(self) -> str: ... + @property + def cancelable(self) -> bool: ... + + +class MethodAction(Action): + @property + def name(self) -> ManagedMethod: ... + @property + def argument(self) -> List[MethodActionArgument]: ... + + +class MethodActionArgument(vmodl.DynamicData): + @property + def value(self) -> object: ... + + +class RunScriptAction(Action): + @property + def script(self) -> str: ... + + +class SendEmailAction(Action): + @property + def toList(self) -> str: ... + @property + def ccList(self) -> str: ... + @property + def subject(self) -> str: ... + @property + def body(self) -> str: ... + + +class SendSNMPAction(Action): ... \ No newline at end of file diff --git a/pyVmomi/vim/alarm/__init__.pyi b/pyVmomi/vim/alarm/__init__.pyi new file mode 100644 index 000000000..bf5a9fe81 --- /dev/null +++ b/pyVmomi/vim/alarm/__init__.pyi @@ -0,0 +1,252 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, PropertyPath + + +class Alarm(vim.ExtensibleManagedObject): + @property + def info(self) -> AlarmInfo: ... + def Remove(self) -> NoneType: ... + def Reconfigure(self, spec: AlarmSpec) -> NoneType: ... + + +class AlarmManager(ManagedObject): + @property + def defaultExpression(self) -> List[AlarmExpression]: ... + @property + def description(self) -> AlarmDescription: ... + def Create(self, entity: vim.ManagedEntity, spec: AlarmSpec) -> Alarm: ... + def GetAlarm(self, entity: vim.ManagedEntity) -> List[Alarm]: ... + def GetAlarmActionsEnabled(self, entity: vim.ManagedEntity) -> bool: ... + def SetAlarmActionsEnabled(self, entity: vim.ManagedEntity, enabled: bool) -> NoneType: ... + def GetAlarmState(self, entity: vim.ManagedEntity) -> List[AlarmState]: ... + def AcknowledgeAlarm(self, alarm: Alarm, entity: vim.ManagedEntity) -> NoneType: ... + def ClearTriggeredAlarms(self, filter: AlarmFilterSpec) -> NoneType: ... + def DisableAlarm(self, alarm: Alarm, entity: vim.ManagedEntity) -> NoneType: ... + def EnableAlarm(self, alarm: Alarm, entity: vim.ManagedEntity) -> NoneType: ... + + +class AlarmAction(vmodl.DynamicData): ... + + +class AlarmDescription(vmodl.DynamicData): + @property + def expr(self) -> List[vim.TypeDescription]: ... + @property + def stateOperator(self) -> List[vim.ElementDescription]: ... + @property + def metricOperator(self) -> List[vim.ElementDescription]: ... + @property + def hostSystemConnectionState(self) -> List[vim.ElementDescription]: ... + @property + def virtualMachinePowerState(self) -> List[vim.ElementDescription]: ... + @property + def datastoreConnectionState(self) -> List[vim.ElementDescription]: ... + @property + def hostSystemPowerState(self) -> List[vim.ElementDescription]: ... + @property + def virtualMachineGuestHeartbeatStatus(self) -> List[vim.ElementDescription]: ... + @property + def entityStatus(self) -> List[vim.ElementDescription]: ... + @property + def action(self) -> List[vim.TypeDescription]: ... + + +class AlarmExpression(vmodl.DynamicData): ... + + +class AlarmFilterSpec(vmodl.DynamicData): + @property + def status(self) -> List[vim.ManagedEntity.Status]: ... + @property + def typeEntity(self) -> str: ... + @property + def typeTrigger(self) -> str: ... + + + class AlarmTypeByEntity(Enum): + entityTypeAll = "entitytypeall" + entityTypeHost = "entitytypehost" + entityTypeVm = "entitytypevm" + + + class AlarmTypeByTrigger(Enum): + triggerTypeAll = "triggertypeall" + triggerTypeEvent = "triggertypeevent" + triggerTypeMetric = "triggertypemetric" + + +class AlarmInfo(AlarmSpec): + @property + def key(self) -> str: ... + @property + def alarm(self) -> Alarm: ... + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def lastModifiedTime(self) -> datetime: ... + @property + def lastModifiedUser(self) -> str: ... + @property + def creationEventId(self) -> int: ... + + +class AlarmSetting(vmodl.DynamicData): + @property + def toleranceRange(self) -> int: ... + @property + def reportingFrequency(self) -> int: ... + + +class AlarmSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def systemName(self) -> str: ... + @property + def description(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def expression(self) -> AlarmExpression: ... + @property + def action(self) -> AlarmAction: ... + @property + def actionFrequency(self) -> int: ... + @property + def setting(self) -> AlarmSetting: ... + + +class AlarmState(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def alarm(self) -> Alarm: ... + @property + def overallStatus(self) -> vim.ManagedEntity.Status: ... + @property + def time(self) -> datetime: ... + @property + def acknowledged(self) -> bool: ... + @property + def acknowledgedByUser(self) -> str: ... + @property + def acknowledgedTime(self) -> datetime: ... + @property + def eventKey(self) -> int: ... + @property + def disabled(self) -> bool: ... + + +class AlarmTriggeringAction(AlarmAction): + @property + def action(self) -> vim.action.Action: ... + @property + def transitionSpecs(self) -> List[AlarmTriggeringAction.TransitionSpec]: ... + @property + def green2yellow(self) -> bool: ... + @property + def yellow2red(self) -> bool: ... + @property + def red2yellow(self) -> bool: ... + @property + def yellow2green(self) -> bool: ... + + + class TransitionSpec(vmodl.DynamicData): + @property + def startState(self) -> vim.ManagedEntity.Status: ... + @property + def finalState(self) -> vim.ManagedEntity.Status: ... + @property + def repeats(self) -> bool: ... + + +class AndAlarmExpression(AlarmExpression): + @property + def expression(self) -> List[AlarmExpression]: ... + + +class EventAlarmExpression(AlarmExpression): + @property + def comparisons(self) -> List[EventAlarmExpression.Comparison]: ... + @property + def eventType(self) -> type: ... + @property + def eventTypeId(self) -> str: ... + @property + def objectType(self) -> type: ... + @property + def status(self) -> vim.ManagedEntity.Status: ... + + + class Comparison(vmodl.DynamicData): + @property + def attributeName(self) -> str: ... + @property + def operator(self) -> str: ... + @property + def value(self) -> str: ... + + + class ComparisonOperator(Enum): + equals = "equals" + notEqualTo = "notequalto" + startsWith = "startswith" + doesNotStartWith = "doesnotstartwith" + endsWith = "endswith" + doesNotEndWith = "doesnotendwith" + + +class GroupAlarmAction(AlarmAction): + @property + def action(self) -> List[AlarmAction]: ... + + +class MetricAlarmExpression(AlarmExpression): + @property + def operator(self) -> MetricAlarmExpression.MetricOperator: ... + @property + def type(self) -> type: ... + @property + def metric(self) -> vim.PerformanceManager.MetricId: ... + @property + def yellow(self) -> int: ... + @property + def yellowInterval(self) -> int: ... + @property + def red(self) -> int: ... + @property + def redInterval(self) -> int: ... + + + class MetricOperator(Enum): + isAbove = "isabove" + isBelow = "isbelow" + + +class OrAlarmExpression(AlarmExpression): + @property + def expression(self) -> List[AlarmExpression]: ... + + +class StateAlarmExpression(AlarmExpression): + @property + def operator(self) -> StateAlarmExpression.StateOperator: ... + @property + def type(self) -> type: ... + @property + def statePath(self) -> PropertyPath: ... + @property + def yellow(self) -> str: ... + @property + def red(self) -> str: ... + + + class StateOperator(Enum): + isEqual = "isequal" + isUnequal = "isunequal" \ No newline at end of file diff --git a/pyVmomi/vim/cluster/__init__.pyi b/pyVmomi/vim/cluster/__init__.pyi new file mode 100644 index 000000000..e120ffbcf --- /dev/null +++ b/pyVmomi/vim/cluster/__init__.pyi @@ -0,0 +1,1034 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, long + + +class EVCManager(vim.ExtensibleManagedObject): + @property + def managedCluster(self) -> vim.ClusterComputeResource: ... + @property + def evcState(self) -> EVCManager.EVCState: ... + def ConfigureEvc(self, evcModeKey: str, evcGraphicsModeKey: str) -> vim.Task: ... + def DisableEvc(self) -> vim.Task: ... + def CheckConfigureEvc(self, evcModeKey: str, evcGraphicsModeKey: str) -> vim.Task: ... + def CheckAddHostEvc(self, cnxSpec: vim.host.ConnectSpec) -> vim.Task: ... + + + class CheckResult(vmodl.DynamicData): + @property + def evcModeKey(self) -> str: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def host(self) -> List[vim.HostSystem]: ... + + + class EVCState(vmodl.DynamicData): + @property + def supportedEVCMode(self) -> List[vim.EVCMode]: ... + @property + def currentEVCModeKey(self) -> str: ... + @property + def guaranteedCPUFeatures(self) -> List[vim.host.CpuIdInfo]: ... + @property + def featureCapability(self) -> List[vim.host.FeatureCapability]: ... + @property + def featureMask(self) -> List[vim.host.FeatureMask]: ... + @property + def featureRequirement(self) -> List[vim.vm.FeatureRequirement]: ... + + +class Action(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def target(self) -> ManagedObject: ... + + + class ActionType(Enum): + MigrationV1 = "migrationv1" + VmPowerV1 = "vmpowerv1" + HostPowerV1 = "hostpowerv1" + IncreaseLimitV1 = "increaselimitv1" + IncreaseSizeV1 = "increasesizev1" + IncreaseSharesV1 = "increasesharesv1" + IncreaseReservationV1 = "increasereservationv1" + DecreaseOthersReservationV1 = "decreaseothersreservationv1" + IncreaseClusterCapacityV1 = "increaseclustercapacityv1" + DecreaseMigrationThresholdV1 = "decreasemigrationthresholdv1" + HostMaintenanceV1 = "hostmaintenancev1" + StorageMigrationV1 = "storagemigrationv1" + StoragePlacementV1 = "storageplacementv1" + PlacementV1 = "placementv1" + HostInfraUpdateHaV1 = "hostinfraupdatehav1" + + +class ActionHistory(vmodl.DynamicData): + @property + def action(self) -> Action: ... + @property + def time(self) -> datetime: ... + + +class AffinityRuleSpec(RuleInfo): + @property + def vm(self) -> List[vim.VirtualMachine]: ... + + +class AntiAffinityRuleSpec(RuleInfo): + @property + def vm(self) -> List[vim.VirtualMachine]: ... + + +class AttemptedVmInfo(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def task(self) -> vim.Task: ... + + +class ClusterInitialPlacementAction(Action): + @property + def targetHost(self) -> vim.HostSystem: ... + @property + def pool(self) -> vim.ResourcePool: ... + @property + def configSpec(self) -> vim.vm.ConfigSpec: ... + + +class ConfigInfo(vmodl.DynamicData): + @property + def dasConfig(self) -> DasConfigInfo: ... + @property + def dasVmConfig(self) -> List[DasVmConfigInfo]: ... + @property + def drsConfig(self) -> DrsConfigInfo: ... + @property + def drsVmConfig(self) -> List[DrsVmConfigInfo]: ... + @property + def rule(self) -> List[RuleInfo]: ... + + +class ConfigInfoEx(vim.ComputeResource.ConfigInfo): + @property + def systemVMsConfig(self) -> SystemVMsConfigInfo: ... + @property + def dasConfig(self) -> DasConfigInfo: ... + @property + def dasVmConfig(self) -> List[DasVmConfigInfo]: ... + @property + def drsConfig(self) -> DrsConfigInfo: ... + @property + def drsVmConfig(self) -> List[DrsVmConfigInfo]: ... + @property + def rule(self) -> List[RuleInfo]: ... + @property + def orchestration(self) -> OrchestrationInfo: ... + @property + def vmOrchestration(self) -> List[VmOrchestrationInfo]: ... + @property + def dpmConfigInfo(self) -> DpmConfigInfo: ... + @property + def dpmHostConfig(self) -> List[DpmHostConfigInfo]: ... + @property + def vsanConfigInfo(self) -> ConfigInfo: ... + @property + def vsanHostConfig(self) -> List[vim.vsan.host.ConfigInfo]: ... + @property + def group(self) -> List[GroupInfo]: ... + @property + def infraUpdateHaConfig(self) -> InfraUpdateHaConfigInfo: ... + @property + def proactiveDrsConfig(self) -> ProactiveDrsConfigInfo: ... + @property + def cryptoConfig(self) -> CryptoConfigInfo: ... + + +class ConfigSpec(vmodl.DynamicData): + @property + def dasConfig(self) -> DasConfigInfo: ... + @property + def dasVmConfigSpec(self) -> List[DasVmConfigSpec]: ... + @property + def drsConfig(self) -> DrsConfigInfo: ... + @property + def drsVmConfigSpec(self) -> List[DrsVmConfigSpec]: ... + @property + def rulesSpec(self) -> List[RuleSpec]: ... + + +class ConfigSpecEx(vim.ComputeResource.ConfigSpec): + @property + def systemVMsConfig(self) -> SystemVMsConfigSpec: ... + @property + def dasConfig(self) -> DasConfigInfo: ... + @property + def dasVmConfigSpec(self) -> List[DasVmConfigSpec]: ... + @property + def drsConfig(self) -> DrsConfigInfo: ... + @property + def drsVmConfigSpec(self) -> List[DrsVmConfigSpec]: ... + @property + def rulesSpec(self) -> List[RuleSpec]: ... + @property + def orchestration(self) -> OrchestrationInfo: ... + @property + def vmOrchestrationSpec(self) -> List[VmOrchestrationSpec]: ... + @property + def dpmConfig(self) -> DpmConfigInfo: ... + @property + def dpmHostConfigSpec(self) -> List[DpmHostConfigSpec]: ... + @property + def vsanConfig(self) -> ConfigInfo: ... + @property + def vsanHostConfigSpec(self) -> List[vim.vsan.host.ConfigInfo]: ... + @property + def groupSpec(self) -> List[GroupSpec]: ... + @property + def infraUpdateHaConfig(self) -> InfraUpdateHaConfigInfo: ... + @property + def proactiveDrsConfig(self) -> ProactiveDrsConfigInfo: ... + @property + def inHciWorkflow(self) -> bool: ... + @property + def cryptoConfig(self) -> CryptoConfigInfo: ... + + +class CryptoConfigInfo(vmodl.DynamicData): + @property + def cryptoMode(self) -> str: ... + + + class CryptoMode(Enum): + onDemand = "ondemand" + forceEnable = "forceenable" + + +class DasAamHostInfo(DasHostInfo): + @property + def hostDasState(self) -> List[DasAamNodeState]: ... + @property + def primaryHosts(self) -> List[str]: ... + + +class DasAamNodeState(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def name(self) -> str: ... + @property + def configState(self) -> str: ... + @property + def runtimeState(self) -> str: ... + + + class DasState(Enum): + uninitialized = "uninitialized" + initialized = "initialized" + configuring = "configuring" + unconfiguring = "unconfiguring" + running = "running" + error = "error" + agentShutdown = "agentshutdown" + nodeFailed = "nodefailed" + + +class DasAdmissionControlInfo(vmodl.DynamicData): ... + + +class DasAdmissionControlPolicy(vmodl.DynamicData): + @property + def resourceReductionToToleratePercent(self) -> int: ... + @property + def pMemAdmissionControlEnabled(self) -> bool: ... + + +class DasAdvancedRuntimeInfo(vmodl.DynamicData): + @property + def dasHostInfo(self) -> DasHostInfo: ... + @property + def vmcpSupported(self) -> DasAdvancedRuntimeInfo.VmcpCapabilityInfo: ... + @property + def heartbeatDatastoreInfo(self) -> List[DasAdvancedRuntimeInfo.HeartbeatDatastoreInfo]: ... + + + class HeartbeatDatastoreInfo(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + @property + def hosts(self) -> List[vim.HostSystem]: ... + + + class VmcpCapabilityInfo(vmodl.DynamicData): + @property + def storageAPDSupported(self) -> bool: ... + @property + def storagePDLSupported(self) -> bool: ... + + +class DasConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def vmMonitoring(self) -> str: ... + @property + def hostMonitoring(self) -> str: ... + @property + def vmComponentProtecting(self) -> str: ... + @property + def failoverLevel(self) -> int: ... + @property + def admissionControlPolicy(self) -> DasAdmissionControlPolicy: ... + @property + def admissionControlEnabled(self) -> bool: ... + @property + def defaultVmSettings(self) -> DasVmSettings: ... + @property + def option(self) -> List[vim.option.OptionValue]: ... + @property + def heartbeatDatastore(self) -> List[vim.Datastore]: ... + @property + def hBDatastoreCandidatePolicy(self) -> str: ... + + + class HBDatastoreCandidate(Enum): + userSelectedDs = "userselectedds" + allFeasibleDs = "allfeasibleds" + allFeasibleDsWithUserPreference = "allfeasibledswithuserpreference" + + + class ServiceState(Enum): + disabled = "disabled" + enabled = "enabled" + + + class VmMonitoringState(Enum): + vmMonitoringDisabled = "vmmonitoringdisabled" + vmMonitoringOnly = "vmmonitoringonly" + vmAndAppMonitoring = "vmandappmonitoring" + + +class DasData(vmodl.DynamicData): ... + + +class DasDataSummary(DasData): + @property + def hostListVersion(self) -> long: ... + @property + def clusterConfigVersion(self) -> long: ... + @property + def compatListVersion(self) -> long: ... + + +class DasFailoverLevelAdvancedRuntimeInfo(DasAdvancedRuntimeInfo): + @property + def slotInfo(self) -> DasFailoverLevelAdvancedRuntimeInfo.SlotInfo: ... + @property + def totalSlots(self) -> int: ... + @property + def usedSlots(self) -> int: ... + @property + def unreservedSlots(self) -> int: ... + @property + def totalVms(self) -> int: ... + @property + def totalHosts(self) -> int: ... + @property + def totalGoodHosts(self) -> int: ... + @property + def hostSlots(self) -> List[DasFailoverLevelAdvancedRuntimeInfo.HostSlots]: ... + @property + def vmsRequiringMultipleSlots(self) -> List[DasFailoverLevelAdvancedRuntimeInfo.VmSlots]: ... + + + class HostSlots(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def slots(self) -> int: ... + + + class SlotInfo(vmodl.DynamicData): + @property + def numVcpus(self) -> int: ... + @property + def cpuMHz(self) -> int: ... + @property + def memoryMB(self) -> int: ... + + + class VmSlots(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def slots(self) -> int: ... + + +class DasFdmHostState(vmodl.DynamicData): + @property + def state(self) -> str: ... + @property + def stateReporter(self) -> vim.HostSystem: ... + + +class DasHostInfo(vmodl.DynamicData): ... + + +class DasHostRecommendation(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def drsRating(self) -> int: ... + + +class DasVmConfigInfo(vmodl.DynamicData): + @property + def key(self) -> vim.VirtualMachine: ... + @property + def restartPriority(self) -> DasVmConfigInfo.Priority: ... + @property + def powerOffOnIsolation(self) -> bool: ... + @property + def dasSettings(self) -> DasVmSettings: ... + + + class Priority(Enum): + disabled = "disabled" + low = "low" + medium = "medium" + high = "high" + + +class DasVmConfigSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> DasVmConfigInfo: ... + + +class DasVmSettings(vmodl.DynamicData): + @property + def restartPriority(self) -> str: ... + @property + def restartPriorityTimeout(self) -> int: ... + @property + def isolationResponse(self) -> str: ... + @property + def vmToolsMonitoringSettings(self) -> VmToolsMonitoringSettings: ... + @property + def vmComponentProtectionSettings(self) -> VmComponentProtectionSettings: ... + + + class IsolationResponse(Enum): + none = "none" + powerOff = "poweroff" + shutdown = "shutdown" + clusterIsolationResponse = "clusterisolationresponse" + + + class RestartPriority(Enum): + disabled = "disabled" + lowest = "lowest" + low = "low" + medium = "medium" + high = "high" + highest = "highest" + clusterRestartPriority = "clusterrestartpriority" + + +class DatastoreUpdateSpec(vim.option.ArrayUpdateSpec): + @property + def datastore(self) -> vim.Datastore: ... + + +class DependencyRuleInfo(RuleInfo): + @property + def vmGroup(self) -> str: ... + @property + def dependsOnVmGroup(self) -> str: ... + + +class DpmConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def defaultDpmBehavior(self) -> DpmConfigInfo.DpmBehavior: ... + @property + def hostPowerActionRate(self) -> int: ... + @property + def option(self) -> List[vim.option.OptionValue]: ... + + + class DpmBehavior(Enum): + manual = "manual" + automated = "automated" + + +class DpmHostConfigInfo(vmodl.DynamicData): + @property + def key(self) -> vim.HostSystem: ... + @property + def enabled(self) -> bool: ... + @property + def behavior(self) -> DpmConfigInfo.DpmBehavior: ... + + +class DpmHostConfigSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> DpmHostConfigInfo: ... + + +class DrsConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def enableVmBehaviorOverrides(self) -> bool: ... + @property + def defaultVmBehavior(self) -> DrsConfigInfo.DrsBehavior: ... + @property + def vmotionRate(self) -> int: ... + @property + def scaleDescendantsShares(self) -> str: ... + @property + def option(self) -> List[vim.option.OptionValue]: ... + + + class DrsBehavior(Enum): + manual = "manual" + partiallyAutomated = "partiallyautomated" + fullyAutomated = "fullyautomated" + + +class DrsFaults(vmodl.DynamicData): + @property + def reason(self) -> str: ... + @property + def faultsByVm(self) -> List[DrsFaults.FaultsByVm]: ... + + + class FaultsByVirtualDisk(DrsFaults.FaultsByVm): + @property + def disk(self) -> vim.vm.device.VirtualDiskId: ... + + + class FaultsByVm(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def fault(self) -> List[vmodl.MethodFault]: ... + + +class DrsMigration(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def time(self) -> datetime: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def cpuLoad(self) -> int: ... + @property + def memoryLoad(self) -> long: ... + @property + def source(self) -> vim.HostSystem: ... + @property + def sourceCpuLoad(self) -> int: ... + @property + def sourceMemoryLoad(self) -> long: ... + @property + def destination(self) -> vim.HostSystem: ... + @property + def destinationCpuLoad(self) -> int: ... + @property + def destinationMemoryLoad(self) -> long: ... + + +class DrsRecommendation(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def rating(self) -> int: ... + @property + def reason(self) -> str: ... + @property + def reasonText(self) -> str: ... + @property + def migrationList(self) -> List[DrsMigration]: ... + + + class ReasonCode(Enum): + fairnessCpuAvg = "fairnesscpuavg" + fairnessMemAvg = "fairnessmemavg" + jointAffin = "jointaffin" + antiAffin = "antiaffin" + hostMaint = "hostmaint" + + +class DrsVmConfigInfo(vmodl.DynamicData): + @property + def key(self) -> vim.VirtualMachine: ... + @property + def enabled(self) -> bool: ... + @property + def behavior(self) -> DrsConfigInfo.DrsBehavior: ... + + +class DrsVmConfigSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> DrsVmConfigInfo: ... + + +class EnterMaintenanceResult(vmodl.DynamicData): + @property + def recommendations(self) -> List[Recommendation]: ... + @property + def fault(self) -> DrsFaults: ... + + +class FailoverHostAdmissionControlInfo(DasAdmissionControlInfo): + @property + def hostStatus(self) -> List[FailoverHostAdmissionControlInfo.HostStatus]: ... + + + class HostStatus(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def status(self) -> vim.ManagedEntity.Status: ... + + +class FailoverHostAdmissionControlPolicy(DasAdmissionControlPolicy): + @property + def failoverHosts(self) -> List[vim.HostSystem]: ... + @property + def failoverLevel(self) -> int: ... + + +class FailoverLevelAdmissionControlInfo(DasAdmissionControlInfo): + @property + def currentFailoverLevel(self) -> int: ... + + +class FailoverLevelAdmissionControlPolicy(DasAdmissionControlPolicy): + @property + def failoverLevel(self) -> int: ... + @property + def slotPolicy(self) -> SlotPolicy: ... + + +class FailoverResourcesAdmissionControlInfo(DasAdmissionControlInfo): + @property + def currentCpuFailoverResourcesPercent(self) -> int: ... + @property + def currentMemoryFailoverResourcesPercent(self) -> int: ... + @property + def currentPMemFailoverResourcesPercent(self) -> int: ... + + +class FailoverResourcesAdmissionControlPolicy(DasAdmissionControlPolicy): + @property + def cpuFailoverResourcesPercent(self) -> int: ... + @property + def memoryFailoverResourcesPercent(self) -> int: ... + @property + def failoverLevel(self) -> int: ... + @property + def autoComputePercentages(self) -> bool: ... + @property + def pMemFailoverResourcesPercent(self) -> int: ... + @property + def autoComputePMemFailoverResourcesPercent(self) -> bool: ... + + +class FixedSizeSlotPolicy(SlotPolicy): + @property + def cpu(self) -> int: ... + @property + def memory(self) -> int: ... + + +class GroupInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def userCreated(self) -> bool: ... + @property + def uniqueID(self) -> str: ... + + +class GroupSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> GroupInfo: ... + + +class HostGroup(GroupInfo): + @property + def host(self) -> List[vim.HostSystem]: ... + + +class HostInfraUpdateHaModeAction(Action): + @property + def operationType(self) -> str: ... + + + class OperationType(Enum): + enterQuarantine = "enterquarantine" + exitQuarantine = "exitquarantine" + enterMaintenance = "entermaintenance" + + +class HostPowerAction(Action): + @property + def operationType(self) -> HostPowerAction.OperationType: ... + @property + def powerConsumptionWatt(self) -> int: ... + @property + def cpuCapacityMHz(self) -> int: ... + @property + def memCapacityMB(self) -> int: ... + + +class HostRecommendation(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def rating(self) -> int: ... + + +class InfraUpdateHaConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def behavior(self) -> str: ... + @property + def moderateRemediation(self) -> str: ... + @property + def severeRemediation(self) -> str: ... + @property + def providers(self) -> List[str]: ... + + + class BehaviorType(Enum): + Manual = "manual" + Automated = "automated" + + + class RemediationType(Enum): + QuarantineMode = "quarantinemode" + MaintenanceMode = "maintenancemode" + + +class InitialPlacementAction(Action): + @property + def targetHost(self) -> vim.HostSystem: ... + @property + def pool(self) -> vim.ResourcePool: ... + + +class MigrationAction(Action): + @property + def drsMigration(self) -> DrsMigration: ... + + +class NotAttemptedVmInfo(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class OrchestrationInfo(vmodl.DynamicData): + @property + def defaultVmReadiness(self) -> VmReadiness: ... + + +class PlacementAction(Action): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def targetHost(self) -> vim.HostSystem: ... + @property + def relocateSpec(self) -> vim.vm.RelocateSpec: ... + + +class PlacementResult(vmodl.DynamicData): + @property + def recommendations(self) -> List[Recommendation]: ... + @property + def drsFault(self) -> DrsFaults: ... + + +class PlacementSpec(vmodl.DynamicData): + @property + def priority(self) -> vim.VirtualMachine.MovePriority: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def configSpec(self) -> vim.vm.ConfigSpec: ... + @property + def relocateSpec(self) -> vim.vm.RelocateSpec: ... + @property + def hosts(self) -> List[vim.HostSystem]: ... + @property + def datastores(self) -> List[vim.Datastore]: ... + @property + def storagePods(self) -> List[vim.StoragePod]: ... + @property + def disallowPrerequisiteMoves(self) -> bool: ... + @property + def rules(self) -> List[RuleInfo]: ... + @property + def key(self) -> str: ... + @property + def placementType(self) -> str: ... + @property + def cloneSpec(self) -> vim.vm.CloneSpec: ... + @property + def cloneName(self) -> str: ... + + + class PlacementType(Enum): + create = "create" + reconfigure = "reconfigure" + relocate = "relocate" + clone = "clone" + + +class PowerOnVmResult(vmodl.DynamicData): + @property + def attempted(self) -> List[AttemptedVmInfo]: ... + @property + def notAttempted(self) -> List[NotAttemptedVmInfo]: ... + @property + def recommendations(self) -> List[Recommendation]: ... + + +class PreemptibleVmPairInfo(vmodl.DynamicData): + @property + def id(self) -> int: ... + @property + def monitoredVm(self) -> vim.VirtualMachine: ... + @property + def preemptibleVm(self) -> vim.VirtualMachine: ... + + +class PreemptibleVmPairSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> PreemptibleVmPairInfo: ... + + +class ProactiveDrsConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + + +class Recommendation(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def type(self) -> str: ... + @property + def time(self) -> datetime: ... + @property + def rating(self) -> int: ... + @property + def reason(self) -> str: ... + @property + def reasonText(self) -> str: ... + @property + def warningText(self) -> str: ... + @property + def warningDetails(self) -> vmodl.LocalizableMessage: ... + @property + def prerequisite(self) -> List[str]: ... + @property + def action(self) -> List[Action]: ... + @property + def target(self) -> ManagedObject: ... + + + class RecommendationType(Enum): + V1 = "v1" + + +class ResourceUsageSummary(vmodl.DynamicData): + @property + def cpuUsedMHz(self) -> int: ... + @property + def cpuCapacityMHz(self) -> int: ... + @property + def memUsedMB(self) -> int: ... + @property + def memCapacityMB(self) -> int: ... + @property + def pMemAvailableMB(self) -> long: ... + @property + def pMemCapacityMB(self) -> long: ... + @property + def storageUsedMB(self) -> long: ... + @property + def storageCapacityMB(self) -> long: ... + + +class RuleInfo(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def status(self) -> vim.ManagedEntity.Status: ... + @property + def enabled(self) -> bool: ... + @property + def name(self) -> str: ... + @property + def mandatory(self) -> bool: ... + @property + def userCreated(self) -> bool: ... + @property + def inCompliance(self) -> bool: ... + @property + def ruleUuid(self) -> str: ... + + +class RuleSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> RuleInfo: ... + + +class SlotPolicy(vmodl.DynamicData): ... + + +class SystemVMsConfigInfo(vmodl.DynamicData): + @property + def allowedDatastores(self) -> List[vim.Datastore]: ... + @property + def notAllowedDatastores(self) -> List[vim.Datastore]: ... + @property + def dsTagCategoriesToExclude(self) -> List[str]: ... + + +class SystemVMsConfigSpec(vmodl.DynamicData): + @property + def allowedDatastores(self) -> List[DatastoreUpdateSpec]: ... + @property + def notAllowedDatastores(self) -> List[DatastoreUpdateSpec]: ... + @property + def dsTagCategoriesToExclude(self) -> List[TagCategoryUpdateSpec]: ... + + +class TagCategoryUpdateSpec(vim.option.ArrayUpdateSpec): + @property + def category(self) -> str: ... + + +class UsageSummary(vmodl.DynamicData): + @property + def totalCpuCapacityMhz(self) -> int: ... + @property + def totalMemCapacityMB(self) -> int: ... + @property + def cpuReservationMhz(self) -> int: ... + @property + def memReservationMB(self) -> int: ... + @property + def poweredOffCpuReservationMhz(self) -> int: ... + @property + def poweredOffMemReservationMB(self) -> int: ... + @property + def cpuDemandMhz(self) -> int: ... + @property + def memDemandMB(self) -> int: ... + @property + def statsGenNumber(self) -> long: ... + @property + def cpuEntitledMhz(self) -> int: ... + @property + def memEntitledMB(self) -> int: ... + @property + def poweredOffVmCount(self) -> int: ... + @property + def totalVmCount(self) -> int: ... + + +class VmComponentProtectionSettings(vmodl.DynamicData): + @property + def vmStorageProtectionForAPD(self) -> str: ... + @property + def enableAPDTimeoutForHosts(self) -> bool: ... + @property + def vmTerminateDelayForAPDSec(self) -> int: ... + @property + def vmReactionOnAPDCleared(self) -> str: ... + @property + def vmStorageProtectionForPDL(self) -> str: ... + + + class StorageVmReaction(Enum): + disabled = "disabled" + warning = "warning" + restartConservative = "restartconservative" + restartAggressive = "restartaggressive" + clusterDefault = "clusterdefault" + + + class VmReactionOnAPDCleared(Enum): + none = "none" + reset = "reset" + useClusterDefault = "useclusterdefault" + + +class VmGroup(GroupInfo): + @property + def vm(self) -> List[vim.VirtualMachine]: ... + + +class VmHostRuleInfo(RuleInfo): + @property + def vmGroupName(self) -> str: ... + @property + def affineHostGroupName(self) -> str: ... + @property + def antiAffineHostGroupName(self) -> str: ... + + +class VmOrchestrationInfo(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmReadiness(self) -> VmReadiness: ... + + +class VmOrchestrationSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> VmOrchestrationInfo: ... + + +class VmReadiness(vmodl.DynamicData): + @property + def readyCondition(self) -> str: ... + @property + def postReadyDelay(self) -> int: ... + + + class ReadyCondition(Enum): + none = "none" + poweredOn = "poweredon" + guestHbStatusGreen = "guesthbstatusgreen" + appHbStatusGreen = "apphbstatusgreen" + useClusterDefault = "useclusterdefault" + + +class VmToolsMonitoringSettings(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def vmMonitoring(self) -> str: ... + @property + def clusterSettings(self) -> bool: ... + @property + def failureInterval(self) -> int: ... + @property + def minUpTime(self) -> int: ... + @property + def maxFailures(self) -> int: ... + @property + def maxFailureWindow(self) -> int: ... \ No newline at end of file diff --git a/pyVmomi/vim/dvs/__init__.pyi b/pyVmomi/vim/dvs/__init__.pyi new file mode 100644 index 000000000..05a60a185 --- /dev/null +++ b/pyVmomi/vim/dvs/__init__.pyi @@ -0,0 +1,1243 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, binary, long + + +class DistributedVirtualPortgroup(vim.Network): + @property + def key(self) -> str: ... + @property + def config(self) -> DistributedVirtualPortgroup.ConfigInfo: ... + @property + def portKeys(self) -> List[str]: ... + def Reconfigure(self, spec: DistributedVirtualPortgroup.ConfigSpec) -> vim.Task: ... + def Rollback(self, entityBackup: EntityBackup.Config) -> vim.Task: ... + + + class NsxPortgroupOperationResult(vmodl.DynamicData): + @property + def portgroups(self) -> List[DistributedVirtualPortgroup]: ... + @property + def problems(self) -> List[DistributedVirtualPortgroup.Problem]: ... + + + class PortgroupPolicy(vmodl.DynamicData): + @property + def blockOverrideAllowed(self) -> bool: ... + @property + def shapingOverrideAllowed(self) -> bool: ... + @property + def vendorConfigOverrideAllowed(self) -> bool: ... + @property + def livePortMovingAllowed(self) -> bool: ... + @property + def portConfigResetAtDisconnect(self) -> bool: ... + @property + def networkResourcePoolOverrideAllowed(self) -> bool: ... + @property + def trafficFilterOverrideAllowed(self) -> bool: ... + + + class Problem(vmodl.DynamicData): + @property + def logicalSwitchUuid(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class BackingType(Enum): + standard = "standard" + nsx = "nsx" + + + class MetaTagName(Enum): + dvsName = "dvsname" + portgroupName = "portgroupname" + portIndex = "portindex" + + + class PortgroupType(Enum): + earlyBinding = "earlybinding" + lateBinding = "latebinding" + ephemeral = "ephemeral" + + +class DistributedVirtualSwitchManager(ManagedObject): + def QuerySupportedSwitchSpec(self, recommended: bool) -> List[ProductSpec]: ... + def QuerySupportedNetworkOffloadSpec(self, switchProductSpec: ProductSpec) -> List[NetworkOffloadSpec]: ... + def QueryCompatibleVmnicsFromHosts(self, hosts: List[vim.HostSystem], dvs: vim.DistributedVirtualSwitch) -> List[DistributedVirtualSwitchManager.PhysicalNicsList]: ... + def QueryCompatibleHostForNewDvs(self, container: vim.ManagedEntity, recursive: bool, switchProductSpec: ProductSpec) -> List[vim.HostSystem]: ... + def QueryCompatibleHostForExistingDvs(self, container: vim.ManagedEntity, recursive: bool, dvs: vim.DistributedVirtualSwitch) -> List[vim.HostSystem]: ... + def QueryCompatibleHostSpec(self, switchProductSpec: ProductSpec) -> List[HostProductSpec]: ... + def QueryFeatureCapability(self, switchProductSpec: ProductSpec) -> vim.DistributedVirtualSwitch.FeatureCapability: ... + def QuerySwitchByUuid(self, uuid: str) -> vim.DistributedVirtualSwitch: ... + def QueryDvsConfigTarget(self, host: vim.HostSystem, dvs: vim.DistributedVirtualSwitch) -> DistributedVirtualSwitchManager.DvsConfigTarget: ... + def CheckCompatibility(self, hostContainer: DistributedVirtualSwitchManager.HostContainer, dvsProductSpec: DistributedVirtualSwitchManager.DvsProductSpec, hostFilterSpec: List[DistributedVirtualSwitchManager.HostDvsFilterSpec]) -> List[DistributedVirtualSwitchManager.CompatibilityResult]: ... + def RectifyHost(self, hosts: List[vim.HostSystem]) -> vim.Task: ... + def ExportEntity(self, selectionSet: List[vim.SelectionSet]) -> vim.Task: ... + def ImportEntity(self, entityBackup: List[EntityBackup.Config], importType: str) -> vim.Task: ... + def LookupPortgroup(self, switchUuid: str, portgroupKey: str) -> DistributedVirtualPortgroup: ... + + + class CompatibilityResult(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + + + class DvsConfigTarget(vmodl.DynamicData): + @property + def distributedVirtualPortgroup(self) -> List[DistributedVirtualPortgroupInfo]: ... + @property + def distributedVirtualSwitch(self) -> List[DistributedVirtualSwitchInfo]: ... + + + class DvsProductSpec(vmodl.DynamicData): + @property + def newSwitchProductSpec(self) -> ProductSpec: ... + @property + def distributedVirtualSwitch(self) -> vim.DistributedVirtualSwitch: ... + + + class HostArrayFilter(DistributedVirtualSwitchManager.HostDvsFilterSpec): + @property + def host(self) -> List[vim.HostSystem]: ... + + + class HostContainer(vmodl.DynamicData): + @property + def container(self) -> vim.ManagedEntity: ... + @property + def recursive(self) -> bool: ... + + + class HostContainerFilter(DistributedVirtualSwitchManager.HostDvsFilterSpec): + @property + def hostContainer(self) -> DistributedVirtualSwitchManager.HostContainer: ... + + + class HostDvsFilterSpec(vmodl.DynamicData): + @property + def inclusive(self) -> bool: ... + + + class HostDvsMembershipFilter(DistributedVirtualSwitchManager.HostDvsFilterSpec): + @property + def distributedVirtualSwitch(self) -> vim.DistributedVirtualSwitch: ... + + + class ImportResult(vmodl.DynamicData): + @property + def distributedVirtualSwitch(self) -> List[vim.DistributedVirtualSwitch]: ... + @property + def distributedVirtualPortgroup(self) -> List[DistributedVirtualPortgroup]: ... + @property + def importFault(self) -> List[vim.fault.ImportOperationBulkFault.FaultOnImport]: ... + + + class PhysicalNicsList(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def physicalNics(self) -> List[vim.host.PhysicalNic]: ... + + +class VmwareDistributedVirtualSwitch(vim.DistributedVirtualSwitch): + def UpdateLacpGroupConfig(self, lacpGroupSpec: List[VmwareDistributedVirtualSwitch.LacpGroupSpec]) -> vim.Task: ... + + + class DpuFeatureCapability(vmodl.DynamicData): + @property + def networkOffloadSupported(self) -> bool: ... + + + class FailureCriteria(vim.InheritablePolicy): + @property + def checkSpeed(self) -> vim.StringPolicy: ... + @property + def speed(self) -> vim.IntPolicy: ... + @property + def checkDuplex(self) -> vim.BoolPolicy: ... + @property + def fullDuplex(self) -> vim.BoolPolicy: ... + @property + def checkErrorPercent(self) -> vim.BoolPolicy: ... + @property + def percentage(self) -> vim.IntPolicy: ... + @property + def checkBeacon(self) -> vim.BoolPolicy: ... + + + class FeatureCapability(vim.DistributedVirtualSwitch.FeatureCapability): + @property + def vspanSupported(self) -> bool: ... + @property + def lldpSupported(self) -> bool: ... + @property + def ipfixSupported(self) -> bool: ... + @property + def ipfixCapability(self) -> VmwareDistributedVirtualSwitch.IpfixFeatureCapability: ... + @property + def multicastSnoopingSupported(self) -> bool: ... + @property + def vspanCapability(self) -> VmwareDistributedVirtualSwitch.VspanFeatureCapability: ... + @property + def lacpCapability(self) -> VmwareDistributedVirtualSwitch.LacpFeatureCapability: ... + @property + def dpuCapability(self) -> VmwareDistributedVirtualSwitch.DpuFeatureCapability: ... + @property + def nsxSupported(self) -> bool: ... + @property + def mtuCapability(self) -> VmwareDistributedVirtualSwitch.MtuCapability: ... + + + class IpfixConfig(vmodl.DynamicData): + @property + def collectorIpAddress(self) -> str: ... + @property + def collectorPort(self) -> int: ... + @property + def observationDomainId(self) -> long: ... + @property + def activeFlowTimeout(self) -> int: ... + @property + def idleFlowTimeout(self) -> int: ... + @property + def samplingRate(self) -> int: ... + @property + def internalFlowsOnly(self) -> bool: ... + + + class IpfixFeatureCapability(vmodl.DynamicData): + @property + def ipfixSupported(self) -> bool: ... + @property + def ipv6ForIpfixSupported(self) -> bool: ... + @property + def observationDomainIdSupported(self) -> bool: ... + + + class LacpFeatureCapability(vmodl.DynamicData): + @property + def lacpSupported(self) -> bool: ... + @property + def multiLacpGroupSupported(self) -> bool: ... + @property + def lacpFastModeSupported(self) -> bool: ... + + + class LacpGroupConfig(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def mode(self) -> str: ... + @property + def uplinkNum(self) -> int: ... + @property + def loadbalanceAlgorithm(self) -> str: ... + @property + def vlan(self) -> VmwareDistributedVirtualSwitch.LagVlanConfig: ... + @property + def ipfix(self) -> VmwareDistributedVirtualSwitch.LagIpfixConfig: ... + @property + def uplinkName(self) -> List[str]: ... + @property + def uplinkPortKey(self) -> List[str]: ... + @property + def timeoutMode(self) -> str: ... + + + class LacpGroupSpec(vmodl.DynamicData): + @property + def lacpGroupConfig(self) -> VmwareDistributedVirtualSwitch.LacpGroupConfig: ... + @property + def operation(self) -> str: ... + + + class LagIpfixConfig(vmodl.DynamicData): + @property + def ipfixEnabled(self) -> bool: ... + + + class LagVlanConfig(vmodl.DynamicData): + @property + def vlanId(self) -> List[vim.NumericRange]: ... + + + class MacLearningPolicy(vim.InheritablePolicy): + @property + def enabled(self) -> bool: ... + @property + def allowUnicastFlooding(self) -> bool: ... + @property + def limit(self) -> int: ... + @property + def limitPolicy(self) -> str: ... + + + class MacManagementPolicy(vim.InheritablePolicy): + @property + def allowPromiscuous(self) -> bool: ... + @property + def macChanges(self) -> bool: ... + @property + def forgedTransmits(self) -> bool: ... + @property + def macLearningPolicy(self) -> VmwareDistributedVirtualSwitch.MacLearningPolicy: ... + + + class MtuCapability(vmodl.DynamicData): + @property + def minMtuSupported(self) -> int: ... + @property + def maxMtuSupported(self) -> int: ... + + + class MtuHealthCheckResult(HostMember.UplinkHealthCheckResult): + @property + def mtuMismatch(self) -> bool: ... + @property + def vlanSupportSwitchMtu(self) -> List[vim.NumericRange]: ... + @property + def vlanNotSupportSwitchMtu(self) -> List[vim.NumericRange]: ... + + + class PvlanConfigSpec(vmodl.DynamicData): + @property + def pvlanEntry(self) -> VmwareDistributedVirtualSwitch.PvlanMapEntry: ... + @property + def operation(self) -> str: ... + + + class PvlanMapEntry(vmodl.DynamicData): + @property + def primaryVlanId(self) -> int: ... + @property + def secondaryVlanId(self) -> int: ... + @property + def pvlanType(self) -> str: ... + + + class PvlanSpec(VmwareDistributedVirtualSwitch.VlanSpec): + @property + def pvlanId(self) -> int: ... + + + class SecurityPolicy(vim.InheritablePolicy): + @property + def allowPromiscuous(self) -> vim.BoolPolicy: ... + @property + def macChanges(self) -> vim.BoolPolicy: ... + @property + def forgedTransmits(self) -> vim.BoolPolicy: ... + + + class TeamingHealthCheckConfig(VmwareDistributedVirtualSwitch.VmwareHealthCheckConfig): ... + + + class TeamingHealthCheckResult(HostMember.HealthCheckResult): + @property + def teamingStatus(self) -> str: ... + + + class TrunkVlanSpec(VmwareDistributedVirtualSwitch.VlanSpec): + @property + def vlanId(self) -> List[vim.NumericRange]: ... + + + class UplinkLacpPolicy(vim.InheritablePolicy): + @property + def enable(self) -> vim.BoolPolicy: ... + @property + def mode(self) -> vim.StringPolicy: ... + + + class UplinkPortOrderPolicy(vim.InheritablePolicy): + @property + def activeUplinkPort(self) -> List[str]: ... + @property + def standbyUplinkPort(self) -> List[str]: ... + + + class UplinkPortTeamingPolicy(vim.InheritablePolicy): + @property + def policy(self) -> vim.StringPolicy: ... + @property + def reversePolicy(self) -> vim.BoolPolicy: ... + @property + def notifySwitches(self) -> vim.BoolPolicy: ... + @property + def rollingOrder(self) -> vim.BoolPolicy: ... + @property + def failureCriteria(self) -> VmwareDistributedVirtualSwitch.FailureCriteria: ... + @property + def uplinkPortOrder(self) -> VmwareDistributedVirtualSwitch.UplinkPortOrderPolicy: ... + + + class VMwarePortgroupPolicy(DistributedVirtualPortgroup.PortgroupPolicy): + @property + def vlanOverrideAllowed(self) -> bool: ... + @property + def uplinkTeamingOverrideAllowed(self) -> bool: ... + @property + def securityPolicyOverrideAllowed(self) -> bool: ... + @property + def ipfixOverrideAllowed(self) -> bool: ... + @property + def macManagementOverrideAllowed(self) -> bool: ... + + + class VlanHealthCheckResult(HostMember.UplinkHealthCheckResult): + @property + def trunkedVlan(self) -> List[vim.NumericRange]: ... + @property + def untrunkedVlan(self) -> List[vim.NumericRange]: ... + + + class VlanIdSpec(VmwareDistributedVirtualSwitch.VlanSpec): + @property + def vlanId(self) -> int: ... + + + class VlanMtuHealthCheckConfig(VmwareDistributedVirtualSwitch.VmwareHealthCheckConfig): ... + + + class VlanSpec(vim.InheritablePolicy): ... + + + class VmwareHealthCheckConfig(vim.DistributedVirtualSwitch.HealthCheckConfig): ... + + + class VmwareHealthCheckFeatureCapability(vim.DistributedVirtualSwitch.HealthCheckFeatureCapability): + @property + def vlanMtuSupported(self) -> bool: ... + @property + def teamingSupported(self) -> bool: ... + + + class VmwarePortConfigPolicy(DistributedVirtualPort.Setting): + @property + def vlan(self) -> VmwareDistributedVirtualSwitch.VlanSpec: ... + @property + def qosTag(self) -> vim.IntPolicy: ... + @property + def uplinkTeamingPolicy(self) -> VmwareDistributedVirtualSwitch.UplinkPortTeamingPolicy: ... + @property + def securityPolicy(self) -> VmwareDistributedVirtualSwitch.SecurityPolicy: ... + @property + def ipfixEnabled(self) -> vim.BoolPolicy: ... + @property + def txUplink(self) -> vim.BoolPolicy: ... + @property + def lacpPolicy(self) -> VmwareDistributedVirtualSwitch.UplinkLacpPolicy: ... + @property + def macManagementPolicy(self) -> VmwareDistributedVirtualSwitch.MacManagementPolicy: ... + @property + def VNI(self) -> vim.IntPolicy: ... + + + class VspanConfigSpec(vmodl.DynamicData): + @property + def vspanSession(self) -> VmwareDistributedVirtualSwitch.VspanSession: ... + @property + def operation(self) -> str: ... + + + class VspanFeatureCapability(vmodl.DynamicData): + @property + def mixedDestSupported(self) -> bool: ... + @property + def dvportSupported(self) -> bool: ... + @property + def remoteSourceSupported(self) -> bool: ... + @property + def remoteDestSupported(self) -> bool: ... + @property + def encapRemoteSourceSupported(self) -> bool: ... + @property + def erspanProtocolSupported(self) -> bool: ... + @property + def mirrorNetstackSupported(self) -> bool: ... + + + class VspanPorts(vmodl.DynamicData): + @property + def portKey(self) -> List[str]: ... + @property + def uplinkPortName(self) -> List[str]: ... + @property + def wildcardPortConnecteeType(self) -> List[str]: ... + @property + def vlans(self) -> List[int]: ... + @property + def ipAddress(self) -> List[str]: ... + + + class VspanSession(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def sourcePortTransmitted(self) -> VmwareDistributedVirtualSwitch.VspanPorts: ... + @property + def sourcePortReceived(self) -> VmwareDistributedVirtualSwitch.VspanPorts: ... + @property + def destinationPort(self) -> VmwareDistributedVirtualSwitch.VspanPorts: ... + @property + def encapsulationVlanId(self) -> int: ... + @property + def stripOriginalVlan(self) -> bool: ... + @property + def mirroredPacketLength(self) -> int: ... + @property + def normalTrafficAllowed(self) -> bool: ... + @property + def sessionType(self) -> str: ... + @property + def samplingRate(self) -> int: ... + @property + def encapType(self) -> str: ... + @property + def erspanId(self) -> int: ... + @property + def erspanCOS(self) -> int: ... + @property + def erspanGraNanosec(self) -> bool: ... + @property + def netstack(self) -> str: ... + + + class LacpApiVersion(Enum): + singleLag = "singlelag" + multipleLag = "multiplelag" + + + class LacpLoadBalanceAlgorithm(Enum): + srcMac = "srcmac" + destMac = "destmac" + srcDestMac = "srcdestmac" + destIpVlan = "destipvlan" + srcIpVlan = "srcipvlan" + srcDestIpVlan = "srcdestipvlan" + destTcpUdpPort = "desttcpudpport" + srcTcpUdpPort = "srctcpudpport" + srcDestTcpUdpPort = "srcdesttcpudpport" + destIpTcpUdpPort = "destiptcpudpport" + srcIpTcpUdpPort = "srciptcpudpport" + srcDestIpTcpUdpPort = "srcdestiptcpudpport" + destIpTcpUdpPortVlan = "destiptcpudpportvlan" + srcIpTcpUdpPortVlan = "srciptcpudpportvlan" + srcDestIpTcpUdpPortVlan = "srcdestiptcpudpportvlan" + destIp = "destip" + srcIp = "srcip" + srcDestIp = "srcdestip" + vlan = "vlan" + srcPortId = "srcportid" + + + class MacLimitPolicyType(Enum): + allow = "allow" + drop = "drop" + + + class MulticastFilteringMode(Enum): + legacyFiltering = "legacyfiltering" + snooping = "snooping" + + + class PvlanPortType(Enum): + promiscuous = "promiscuous" + isolated = "isolated" + community = "community" + + + class TeamingMatchStatus(Enum): + iphashMatch = "iphashmatch" + nonIphashMatch = "noniphashmatch" + iphashMismatch = "iphashmismatch" + nonIphashMismatch = "noniphashmismatch" + + + class UplinkLacpMode(Enum): + active = "active" + passive = "passive" + + + class UplinkLacpTimeoutMode(Enum): + fast = "fast" + slow = "slow" + + + class VspanSessionEncapType(Enum): + gre = "gre" + erspan2 = "erspan2" + erspan3 = "erspan3" + + + class VspanSessionType(Enum): + mixedDestMirror = "mixeddestmirror" + dvPortMirror = "dvportmirror" + remoteMirrorSource = "remotemirrorsource" + remoteMirrorDest = "remotemirrordest" + encapsulatedRemoteMirrorSource = "encapsulatedremotemirrorsource" + + +class DistributedVirtualPort(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def config(self) -> DistributedVirtualPort.ConfigInfo: ... + @property + def dvsUuid(self) -> str: ... + @property + def portgroupKey(self) -> str: ... + @property + def proxyHost(self) -> vim.HostSystem: ... + @property + def connectee(self) -> PortConnectee: ... + @property + def conflict(self) -> bool: ... + @property + def conflictPortKey(self) -> str: ... + @property + def state(self) -> DistributedVirtualPort.State: ... + @property + def connectionCookie(self) -> int: ... + @property + def lastStatusChange(self) -> datetime: ... + @property + def hostLocalPort(self) -> bool: ... + @property + def externalId(self) -> str: ... + @property + def segmentPortId(self) -> str: ... + + + class ConfigInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def scope(self) -> List[vim.ManagedEntity]: ... + @property + def description(self) -> str: ... + @property + def setting(self) -> DistributedVirtualPort.Setting: ... + @property + def configVersion(self) -> str: ... + + + class ConfigSpec(vmodl.DynamicData): + @property + def operation(self) -> str: ... + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def scope(self) -> List[vim.ManagedEntity]: ... + @property + def description(self) -> str: ... + @property + def setting(self) -> DistributedVirtualPort.Setting: ... + @property + def configVersion(self) -> str: ... + + + class FilterConfig(vim.InheritablePolicy): + @property + def key(self) -> str: ... + @property + def agentName(self) -> str: ... + @property + def slotNumber(self) -> str: ... + @property + def parameters(self) -> DistributedVirtualPort.FilterParameter: ... + @property + def onFailure(self) -> str: ... + + + class FilterConfigSpec(DistributedVirtualPort.FilterConfig): + @property + def operation(self) -> str: ... + + + class FilterParameter(vmodl.DynamicData): + @property + def parameters(self) -> List[str]: ... + + + class FilterPolicy(vim.InheritablePolicy): + @property + def filterConfig(self) -> List[DistributedVirtualPort.FilterConfig]: ... + + + class HostLocalPortInfo(vmodl.DynamicData): + @property + def switchUuid(self) -> str: ... + @property + def portKey(self) -> str: ... + @property + def setting(self) -> DistributedVirtualPort.Setting: ... + @property + def vnic(self) -> str: ... + + + class RuntimeInfo(vmodl.DynamicData): + @property + def linkUp(self) -> bool: ... + @property + def blocked(self) -> bool: ... + @property + def vlanIds(self) -> List[vim.NumericRange]: ... + @property + def trunkingMode(self) -> bool: ... + @property + def mtu(self) -> int: ... + @property + def linkPeer(self) -> str: ... + @property + def macAddress(self) -> str: ... + @property + def statusDetail(self) -> str: ... + @property + def vmDirectPathGen2Active(self) -> bool: ... + @property + def vmDirectPathGen2InactiveReasonNetwork(self) -> List[str]: ... + @property + def vmDirectPathGen2InactiveReasonOther(self) -> List[str]: ... + @property + def vmDirectPathGen2InactiveReasonExtended(self) -> str: ... + + + class VmDirectPathGen2InactiveReasonNetwork(Enum): + portNptIncompatibleDvs = "portnptincompatibledvs" + portNptNoCompatibleNics = "portnptnocompatiblenics" + portNptNoVirtualFunctionsAvailable = "portnptnovirtualfunctionsavailable" + portNptDisabledForPort = "portnptdisabledforport" + + + class VmDirectPathGen2InactiveReasonOther(Enum): + portNptIncompatibleHost = "portnptincompatiblehost" + portNptIncompatibleConnectee = "portnptincompatibleconnectee" + + + class Setting(vmodl.DynamicData): + @property + def blocked(self) -> vim.BoolPolicy: ... + @property + def vmDirectPathGen2Allowed(self) -> vim.BoolPolicy: ... + @property + def inShapingPolicy(self) -> DistributedVirtualPort.TrafficShapingPolicy: ... + @property + def outShapingPolicy(self) -> DistributedVirtualPort.TrafficShapingPolicy: ... + @property + def vendorSpecificConfig(self) -> DistributedVirtualPort.VendorSpecificConfig: ... + @property + def networkResourcePoolKey(self) -> vim.StringPolicy: ... + @property + def filterPolicy(self) -> DistributedVirtualPort.FilterPolicy: ... + + + class State(vmodl.DynamicData): + @property + def runtimeInfo(self) -> DistributedVirtualPort.RuntimeInfo: ... + @property + def stats(self) -> PortStatistics: ... + @property + def vendorSpecificState(self) -> List[KeyedOpaqueBlob]: ... + + + class TrafficFilterConfig(DistributedVirtualPort.FilterConfig): + @property + def trafficRuleset(self) -> TrafficRuleset: ... + + + class TrafficFilterConfigSpec(DistributedVirtualPort.TrafficFilterConfig): + @property + def operation(self) -> str: ... + + + class TrafficShapingPolicy(vim.InheritablePolicy): + @property + def enabled(self) -> vim.BoolPolicy: ... + @property + def averageBandwidth(self) -> vim.LongPolicy: ... + @property + def peakBandwidth(self) -> vim.LongPolicy: ... + @property + def burstSize(self) -> vim.LongPolicy: ... + + + class VendorSpecificConfig(vim.InheritablePolicy): + @property + def keyValue(self) -> List[KeyedOpaqueBlob]: ... + + + class FilterOnFailure(Enum): + failOpen = "failopen" + failClosed = "failclosed" + + +class DistributedVirtualPortgroupInfo(vmodl.DynamicData): + @property + def switchName(self) -> str: ... + @property + def switchUuid(self) -> str: ... + @property + def portgroupName(self) -> str: ... + @property + def portgroupKey(self) -> str: ... + @property + def portgroupType(self) -> str: ... + @property + def uplinkPortgroup(self) -> bool: ... + @property + def portgroup(self) -> DistributedVirtualPortgroup: ... + @property + def networkReservationSupported(self) -> bool: ... + @property + def backingType(self) -> str: ... + @property + def logicalSwitchUuid(self) -> str: ... + @property + def segmentId(self) -> str: ... + + +class DistributedVirtualPortgroupSelection(vim.SelectionSet): + @property + def dvsUuid(self) -> str: ... + @property + def portgroupKey(self) -> List[str]: ... + + +class DistributedVirtualSwitchInfo(vmodl.DynamicData): + @property + def switchName(self) -> str: ... + @property + def switchUuid(self) -> str: ... + @property + def distributedVirtualSwitch(self) -> vim.DistributedVirtualSwitch: ... + @property + def networkReservationSupported(self) -> bool: ... + + +class DistributedVirtualSwitchSelection(vim.SelectionSet): + @property + def dvsUuid(self) -> str: ... + + +class EntityBackup(vmodl.DynamicData): + + + class Config(vmodl.DynamicData): + @property + def entityType(self) -> str: ... + @property + def configBlob(self) -> binary: ... + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def container(self) -> vim.ManagedEntity: ... + @property + def configVersion(self) -> str: ... + + + class EntityType(Enum): + distributedVirtualSwitch = "distributedvirtualswitch" + distributedVirtualPortgroup = "distributedvirtualportgroup" + + + class ImportType(Enum): + createEntityWithNewIdentifier = "createentitywithnewidentifier" + createEntityWithOriginalIdentifier = "createentitywithoriginalidentifier" + applyToEntitySpecified = "applytoentityspecified" + + +class HostMember(vmodl.DynamicData): + @property + def runtimeState(self) -> HostMember.RuntimeState: ... + @property + def config(self) -> HostMember.ConfigInfo: ... + @property + def productInfo(self) -> ProductSpec: ... + @property + def uplinkPortKey(self) -> List[str]: ... + @property + def status(self) -> str: ... + @property + def statusDetail(self) -> str: ... + + + class Backing(vmodl.DynamicData): ... + + + class HealthCheckResult(vmodl.DynamicData): + @property + def summary(self) -> str: ... + + + class PnicBacking(HostMember.Backing): + @property + def pnicSpec(self) -> List[HostMember.PnicSpec]: ... + + + class PnicSpec(vmodl.DynamicData): + @property + def pnicDevice(self) -> str: ... + @property + def uplinkPortKey(self) -> str: ... + @property + def uplinkPortgroupKey(self) -> str: ... + @property + def connectionCookie(self) -> int: ... + + + class RuntimeState(vmodl.DynamicData): + @property + def currentMaxProxySwitchPorts(self) -> int: ... + + + class TransportZoneInfo(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def type(self) -> str: ... + + + class UplinkHealthCheckResult(HostMember.HealthCheckResult): + @property + def uplinkPortKey(self) -> str: ... + + + class HostComponentState(Enum): + up = "up" + pending = "pending" + outOfSync = "outofsync" + warning = "warning" + disconnected = "disconnected" + down = "down" + + + class TransportZoneType(Enum): + vlan = "vlan" + overlay = "overlay" + + +class HostProductSpec(vmodl.DynamicData): + @property + def productLineId(self) -> str: ... + @property + def version(self) -> str: ... + + +class KeyedOpaqueBlob(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def opaqueData(self) -> str: ... + + +class NetworkOffloadSpec(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def name(self) -> str: ... + @property + def types(self) -> List[str]: ... + + +class NetworkResourcePool(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def configVersion(self) -> str: ... + @property + def allocationInfo(self) -> NetworkResourcePool.AllocationInfo: ... + + + class AllocationInfo(vmodl.DynamicData): + @property + def limit(self) -> long: ... + @property + def shares(self) -> vim.SharesInfo: ... + @property + def priorityTag(self) -> int: ... + + +class PortConnectee(vmodl.DynamicData): + @property + def connectedEntity(self) -> vim.ManagedEntity: ... + @property + def nicKey(self) -> str: ... + @property + def type(self) -> str: ... + @property + def addressHint(self) -> str: ... + + + class ConnecteeType(Enum): + pnic = "pnic" + vmVnic = "vmvnic" + hostConsoleVnic = "hostconsolevnic" + hostVmkVnic = "hostvmkvnic" + systemCrxVnic = "systemcrxvnic" + + +class PortConnection(vmodl.DynamicData): + @property + def switchUuid(self) -> str: ... + @property + def portgroupKey(self) -> str: ... + @property + def portKey(self) -> str: ... + @property + def connectionCookie(self) -> int: ... + + +class PortCriteria(vmodl.DynamicData): + @property + def connected(self) -> bool: ... + @property + def active(self) -> bool: ... + @property + def uplinkPort(self) -> bool: ... + @property + def nsxPort(self) -> bool: ... + @property + def scope(self) -> vim.ManagedEntity: ... + @property + def portgroupKey(self) -> List[str]: ... + @property + def inside(self) -> bool: ... + @property + def portKey(self) -> List[str]: ... + @property + def host(self) -> List[vim.HostSystem]: ... + + +class PortStatistics(vmodl.DynamicData): + @property + def packetsInMulticast(self) -> long: ... + @property + def packetsOutMulticast(self) -> long: ... + @property + def bytesInMulticast(self) -> long: ... + @property + def bytesOutMulticast(self) -> long: ... + @property + def packetsInUnicast(self) -> long: ... + @property + def packetsOutUnicast(self) -> long: ... + @property + def bytesInUnicast(self) -> long: ... + @property + def bytesOutUnicast(self) -> long: ... + @property + def packetsInBroadcast(self) -> long: ... + @property + def packetsOutBroadcast(self) -> long: ... + @property + def bytesInBroadcast(self) -> long: ... + @property + def bytesOutBroadcast(self) -> long: ... + @property + def packetsInDropped(self) -> long: ... + @property + def packetsOutDropped(self) -> long: ... + @property + def packetsInException(self) -> long: ... + @property + def packetsOutException(self) -> long: ... + @property + def bytesInFromPnic(self) -> long: ... + @property + def bytesOutToPnic(self) -> long: ... + + +class ProductSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def version(self) -> str: ... + @property + def build(self) -> str: ... + @property + def forwardingClass(self) -> str: ... + @property + def bundleId(self) -> str: ... + @property + def bundleUrl(self) -> str: ... + + +class TrafficRule(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def description(self) -> str: ... + @property + def sequence(self) -> int: ... + @property + def qualifier(self) -> List[TrafficRule.Qualifier]: ... + @property + def action(self) -> TrafficRule.Action: ... + @property + def direction(self) -> str: ... + + + class AcceptAction(TrafficRule.Action): ... + + + class Action(vmodl.DynamicData): ... + + + class CopyAction(TrafficRule.Action): ... + + + class DropAction(TrafficRule.Action): ... + + + class GreAction(TrafficRule.Action): + @property + def encapsulationIp(self) -> vim.SingleIp: ... + + + class IpPort(vim.NegatableExpression): ... + + + class IpPortRange(TrafficRule.IpPort): + @property + def startPortNumber(self) -> int: ... + @property + def endPortNumber(self) -> int: ... + + + class IpQualifier(TrafficRule.Qualifier): + @property + def sourceAddress(self) -> vim.IpAddress: ... + @property + def destinationAddress(self) -> vim.IpAddress: ... + @property + def protocol(self) -> vim.IntExpression: ... + @property + def sourceIpPort(self) -> TrafficRule.IpPort: ... + @property + def destinationIpPort(self) -> TrafficRule.IpPort: ... + @property + def tcpFlags(self) -> vim.IntExpression: ... + + + class LogAction(TrafficRule.Action): ... + + + class MacQualifier(TrafficRule.Qualifier): + @property + def sourceAddress(self) -> vim.MacAddress: ... + @property + def destinationAddress(self) -> vim.MacAddress: ... + @property + def protocol(self) -> vim.IntExpression: ... + @property + def vlanId(self) -> vim.IntExpression: ... + + + class MacRewriteAction(TrafficRule.Action): + @property + def rewriteMac(self) -> str: ... + + + class PuntAction(TrafficRule.Action): ... + + + class Qualifier(vmodl.DynamicData): + @property + def key(self) -> str: ... + + + class RateLimitAction(TrafficRule.Action): + @property + def packetsPerSecond(self) -> int: ... + + + class SingleIpPort(TrafficRule.IpPort): + @property + def portNumber(self) -> int: ... + + + class SystemTrafficQualifier(TrafficRule.Qualifier): + @property + def typeOfSystemTraffic(self) -> vim.StringExpression: ... + + + class UpdateTagAction(TrafficRule.Action): + @property + def qosTag(self) -> int: ... + @property + def dscpTag(self) -> int: ... + + + class RuleDirectionType(Enum): + incomingPackets = "incomingpackets" + outgoingPackets = "outgoingpackets" + both = "both" + + +class TrafficRuleset(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def precedence(self) -> int: ... + @property + def rules(self) -> List[TrafficRule]: ... + + +class VmVnicNetworkResourcePool(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def configVersion(self) -> str: ... + @property + def allocationInfo(self) -> VmVnicNetworkResourcePool.ResourceAllocation: ... + + + class ResourceAllocation(vmodl.DynamicData): + @property + def reservationQuota(self) -> long: ... + + + class VnicAllocatedResource(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vnicKey(self) -> str: ... + @property + def reservation(self) -> long: ... + + +class SwitchMode(vim.version.v8_0_0_1): ... + + +class SwitchMode(vim.version.v8_0_0_1): ... \ No newline at end of file diff --git a/pyVmomi/vim/encryption/__init__.pyi b/pyVmomi/vim/encryption/__init__.pyi new file mode 100644 index 000000000..59755a204 --- /dev/null +++ b/pyVmomi/vim/encryption/__init__.pyi @@ -0,0 +1,306 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType + + +class CryptoManager(ManagedObject): + @property + def enabled(self) -> bool: ... + def AddKey(self, key: CryptoKeyPlain) -> NoneType: ... + def AddKeys(self, keys: List[CryptoKeyPlain]) -> List[CryptoKeyResult]: ... + def RemoveKey(self, key: CryptoKeyId, force: bool) -> NoneType: ... + def RemoveKeys(self, keys: List[CryptoKeyId], force: bool) -> List[CryptoKeyResult]: ... + def ListKeys(self, limit: int) -> List[CryptoKeyId]: ... + + +class CryptoManagerHost(CryptoManager): + def Prepare(self) -> NoneType: ... + def Enable(self, initialKey: CryptoKeyPlain) -> NoneType: ... + def ChangeKey(self, newKey: CryptoKeyPlain) -> vim.Task: ... + def Disable(self) -> NoneType: ... + def GetCryptoKeyStatus(self, keys: List[CryptoKeyId]) -> List[CryptoManagerHost.KeyStatus]: ... + + + class KeyStatus(vmodl.DynamicData): + @property + def keyId(self) -> CryptoKeyId: ... + @property + def present(self) -> bool: ... + @property + def managementType(self) -> str: ... + + + class KeyManagementType(Enum): + unknown = "unknown" + internal = "internal" + external = "external" + + +class CryptoManagerHostKMS(CryptoManagerHost): ... + + +class CryptoManagerKmip(CryptoManager): + @property + def kmipServers(self) -> List[KmipClusterInfo]: ... + def RegisterKmipServer(self, server: KmipServerSpec) -> NoneType: ... + def MarkDefault(self, clusterId: KeyProviderId) -> NoneType: ... + def UpdateKmipServer(self, server: KmipServerSpec) -> NoneType: ... + def RemoveKmipServer(self, clusterId: KeyProviderId, serverName: str) -> NoneType: ... + def ListKmipServers(self, limit: int) -> List[KmipClusterInfo]: ... + def RetrieveKmipServersStatus(self, clusters: List[KmipClusterInfo]) -> vim.Task: ... + def GenerateKey(self, keyProvider: KeyProviderId, spec: CryptoManagerKmip.CustomAttributeSpec) -> CryptoKeyResult: ... + def RetrieveKmipServerCert(self, keyProvider: KeyProviderId, server: KmipServerInfo) -> CryptoManagerKmip.ServerCertInfo: ... + def UploadKmipServerCert(self, cluster: KeyProviderId, certificate: str) -> NoneType: ... + def GenerateSelfSignedClientCert(self, cluster: KeyProviderId, request: CryptoManagerKmip.CertSignRequest) -> str: ... + def GenerateClientCsr(self, cluster: KeyProviderId, request: CryptoManagerKmip.CertSignRequest) -> str: ... + def RetrieveSelfSignedClientCert(self, cluster: KeyProviderId) -> str: ... + def RetrieveClientCsr(self, cluster: KeyProviderId) -> str: ... + def RetrieveClientCert(self, cluster: KeyProviderId) -> str: ... + def UpdateSelfSignedClientCert(self, cluster: KeyProviderId, certificate: str) -> NoneType: ... + def UpdateKmsSignedCsrClientCert(self, cluster: KeyProviderId, certificate: str) -> NoneType: ... + def UploadClientCert(self, cluster: KeyProviderId, certificate: str, privateKey: str) -> NoneType: ... + def IsKmsClusterActive(self, cluster: KeyProviderId) -> bool: ... + def SetDefaultKmsCluster(self, entity: vim.ManagedEntity, clusterId: KeyProviderId) -> NoneType: ... + def GetDefaultKmsCluster(self, entity: vim.ManagedEntity, defaultsToParent: bool) -> KeyProviderId: ... + def QueryCryptoKeyStatus(self, keyIds: List[CryptoKeyId], checkKeyBitMap: int) -> List[CryptoManagerKmip.CryptoKeyStatus]: ... + def RegisterKmsCluster(self, clusterId: KeyProviderId, managementType: str) -> NoneType: ... + def UnregisterKmsCluster(self, clusterId: KeyProviderId) -> NoneType: ... + def ListKmsClusters(self, includeKmsServers: bool, managementTypeFilter: int, statusFilter: int) -> List[KmipClusterInfo]: ... + def SetKeyCustomAttributes(self, keyId: CryptoKeyId, spec: CryptoManagerKmip.CustomAttributeSpec) -> CryptoKeyResult: ... + + + class CertSignRequest(vmodl.DynamicData): + @property + def commonName(self) -> str: ... + @property + def organization(self) -> str: ... + @property + def organizationUnit(self) -> str: ... + @property + def locality(self) -> str: ... + @property + def state(self) -> str: ... + @property + def country(self) -> str: ... + @property + def email(self) -> str: ... + + + class CertificateInfo(vmodl.DynamicData): + @property + def subject(self) -> str: ... + @property + def issuer(self) -> str: ... + @property + def serialNumber(self) -> str: ... + @property + def notBefore(self) -> datetime: ... + @property + def notAfter(self) -> datetime: ... + @property + def fingerprint(self) -> str: ... + @property + def checkTime(self) -> datetime: ... + @property + def secondsSinceValid(self) -> int: ... + @property + def secondsBeforeExpire(self) -> int: ... + + + class ClusterStatus(vmodl.DynamicData): + @property + def clusterId(self) -> KeyProviderId: ... + @property + def overallStatus(self) -> vim.ManagedEntity.Status: ... + @property + def managementType(self) -> str: ... + @property + def servers(self) -> List[CryptoManagerKmip.ServerStatus]: ... + @property + def clientCertInfo(self) -> CryptoManagerKmip.CertificateInfo: ... + + + class CryptoKeyStatus(vmodl.DynamicData): + @property + def keyId(self) -> CryptoKeyId: ... + @property + def keyAvailable(self) -> bool: ... + @property + def reason(self) -> str: ... + @property + def encryptedVMs(self) -> List[vim.VirtualMachine]: ... + @property + def affectedHosts(self) -> List[vim.HostSystem]: ... + @property + def referencedByTags(self) -> List[str]: ... + + + class KeyUnavailableReason(Enum): + KeyStateMissingInCache = "keystatemissingincache" + KeyStateClusterInvalid = "keystateclusterinvalid" + KeyStateClusterUnreachable = "keystateclusterunreachable" + KeyStateMissingInKMS = "keystatemissinginkms" + KeyStateNotActiveOrEnabled = "keystatenotactiveorenabled" + KeyStateManagedByTrustAuthority = "keystatemanagedbytrustauthority" + KeyStateManagedByNKP = "keystatemanagedbynkp" + + + class CustomAttributeSpec(vmodl.DynamicData): + @property + def attributes(self) -> List[vim.KeyValue]: ... + + + class ServerCertInfo(vmodl.DynamicData): + @property + def certificate(self) -> str: ... + @property + def certInfo(self) -> CryptoManagerKmip.CertificateInfo: ... + @property + def clientTrustServer(self) -> bool: ... + + + class ServerStatus(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def status(self) -> vim.ManagedEntity.Status: ... + @property + def connectionStatus(self) -> str: ... + @property + def certInfo(self) -> CryptoManagerKmip.CertificateInfo: ... + @property + def clientTrustServer(self) -> bool: ... + @property + def serverTrustClient(self) -> bool: ... + + +class CryptoKeyId(vmodl.DynamicData): + @property + def keyId(self) -> str: ... + @property + def providerId(self) -> KeyProviderId: ... + + +class CryptoKeyPlain(vmodl.DynamicData): + @property + def keyId(self) -> CryptoKeyId: ... + @property + def algorithm(self) -> str: ... + @property + def keyData(self) -> str: ... + + +class CryptoKeyResult(vmodl.DynamicData): + @property + def keyId(self) -> CryptoKeyId: ... + @property + def success(self) -> bool: ... + @property + def reason(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class CryptoSpec(vmodl.DynamicData): ... + + +class CryptoSpecDecrypt(CryptoSpec): ... + + +class CryptoSpecDeepRecrypt(CryptoSpec): + @property + def newKeyId(self) -> CryptoKeyId: ... + + +class CryptoSpecEncrypt(CryptoSpec): + @property + def cryptoKeyId(self) -> CryptoKeyId: ... + + +class CryptoSpecNoOp(CryptoSpec): ... + + +class CryptoSpecRegister(CryptoSpecNoOp): + @property + def cryptoKeyId(self) -> CryptoKeyId: ... + + +class CryptoSpecShallowRecrypt(CryptoSpec): + @property + def newKeyId(self) -> CryptoKeyId: ... + + +class KeyProviderId(vmodl.DynamicData): + @property + def id(self) -> str: ... + + +class KmipClusterInfo(vmodl.DynamicData): + @property + def clusterId(self) -> KeyProviderId: ... + @property + def servers(self) -> List[KmipServerInfo]: ... + @property + def useAsDefault(self) -> bool: ... + @property + def managementType(self) -> str: ... + @property + def useAsEntityDefault(self) -> List[vim.ManagedEntity]: ... + @property + def hasBackup(self) -> bool: ... + @property + def tpmRequired(self) -> bool: ... + @property + def keyId(self) -> str: ... + + + class KmsManagementType(Enum): + unknown = "unknown" + vCenter = "vcenter" + trustAuthority = "trustauthority" + nativeProvider = "nativeprovider" + + +class KmipServerInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def address(self) -> str: ... + @property + def port(self) -> int: ... + @property + def proxyAddress(self) -> str: ... + @property + def proxyPort(self) -> int: ... + @property + def reconnect(self) -> int: ... + @property + def protocol(self) -> str: ... + @property + def nbio(self) -> int: ... + @property + def timeout(self) -> int: ... + @property + def userName(self) -> str: ... + + +class KmipServerSpec(vmodl.DynamicData): + @property + def clusterId(self) -> KeyProviderId: ... + @property + def info(self) -> KmipServerInfo: ... + @property + def password(self) -> str: ... + + +class KmipServerStatus(vmodl.DynamicData): + @property + def clusterId(self) -> KeyProviderId: ... + @property + def name(self) -> str: ... + @property + def status(self) -> vim.ManagedEntity.Status: ... + @property + def description(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/event/__init__.pyi b/pyVmomi/vim/event/__init__.pyi new file mode 100644 index 000000000..a5bacc952 --- /dev/null +++ b/pyVmomi/vim/event/__init__.pyi @@ -0,0 +1,2461 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, long + + +class EventHistoryCollector(vim.HistoryCollector): + @property + def latestPage(self) -> List[Event]: ... + def ReadNext(self, maxCount: int) -> List[Event]: ... + def ReadPrev(self, maxCount: int) -> List[Event]: ... + + +class EventManager(ManagedObject): + @property + def description(self) -> EventDescription: ... + @property + def latestEvent(self) -> Event: ... + @property + def maxCollector(self) -> int: ... + def RetrieveArgumentDescription(self, eventTypeId: str) -> List[EventDescription.EventArgDesc]: ... + def CreateCollector(self, filter: EventFilterSpec) -> EventHistoryCollector: ... + def LogUserEvent(self, entity: vim.ManagedEntity, msg: str) -> NoneType: ... + def QueryEvent(self, filter: EventFilterSpec) -> List[Event]: ... + def PostEvent(self, eventToPost: Event, taskInfo: vim.TaskInfo) -> NoneType: ... + + +class AccountCreatedEvent(HostEvent): + @property + def spec(self) -> vim.host.LocalAccountManager.AccountSpecification: ... + @property + def group(self) -> bool: ... + + +class AccountRemovedEvent(HostEvent): + @property + def account(self) -> str: ... + @property + def group(self) -> bool: ... + + +class AccountUpdatedEvent(HostEvent): + @property + def spec(self) -> vim.host.LocalAccountManager.AccountSpecification: ... + @property + def group(self) -> bool: ... + @property + def prevDescription(self) -> str: ... + + +class AdminPasswordNotChangedEvent(HostEvent): ... + + +class AlarmAcknowledgedEvent(AlarmEvent): + @property + def source(self) -> ManagedEntityEventArgument: ... + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class AlarmActionTriggeredEvent(AlarmEvent): + @property + def source(self) -> ManagedEntityEventArgument: ... + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class AlarmClearedEvent(AlarmEvent): + @property + def source(self) -> ManagedEntityEventArgument: ... + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def from(self) -> str: ... + + +class AlarmCreatedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class AlarmEmailCompletedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def to(self) -> str: ... + + +class AlarmEmailFailedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def to(self) -> str: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class AlarmEvent(Event): + @property + def alarm(self) -> AlarmEventArgument: ... + + +class AlarmEventArgument(EntityEventArgument): + @property + def alarm(self) -> vim.alarm.Alarm: ... + + +class AlarmReconfiguredEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class AlarmRemovedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class AlarmScriptCompleteEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def script(self) -> str: ... + + +class AlarmScriptFailedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def script(self) -> str: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class AlarmSnmpCompletedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class AlarmSnmpFailedEvent(AlarmEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class AlarmStatusChangedEvent(AlarmEvent): + @property + def source(self) -> ManagedEntityEventArgument: ... + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def from(self) -> str: ... + @property + def to(self) -> str: ... + + +class AllVirtualMachinesLicensedEvent(LicenseEvent): ... + + +class AlreadyAuthenticatedSessionEvent(SessionEvent): ... + + +class AuthorizationEvent(Event): ... + + +class BadUsernameSessionEvent(SessionEvent): + @property + def ipAddress(self) -> str: ... + + +class CanceledHostOperationEvent(HostEvent): ... + + +class ChangesInfoEventArgument(vmodl.DynamicData): + @property + def modified(self) -> str: ... + @property + def added(self) -> str: ... + @property + def deleted(self) -> str: ... + + +class ClusterComplianceCheckedEvent(ClusterEvent): + @property + def profile(self) -> ProfileEventArgument: ... + + +class ClusterCreatedEvent(ClusterEvent): + @property + def parent(self) -> FolderEventArgument: ... + + +class ClusterDestroyedEvent(ClusterEvent): ... + + +class ClusterEvent(Event): ... + + +class ClusterOvercommittedEvent(ClusterEvent): ... + + +class ClusterReconfiguredEvent(ClusterEvent): + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class ClusterStatusChangedEvent(ClusterEvent): + @property + def oldStatus(self) -> str: ... + @property + def newStatus(self) -> str: ... + + +class ComputeResourceEventArgument(EntityEventArgument): + @property + def computeResource(self) -> vim.ComputeResource: ... + + +class CustomFieldDefAddedEvent(CustomFieldDefEvent): ... + + +class CustomFieldDefEvent(CustomFieldEvent): + @property + def fieldKey(self) -> int: ... + @property + def name(self) -> str: ... + + +class CustomFieldDefRemovedEvent(CustomFieldDefEvent): ... + + +class CustomFieldDefRenamedEvent(CustomFieldDefEvent): + @property + def newName(self) -> str: ... + + +class CustomFieldEvent(Event): ... + + +class CustomFieldValueChangedEvent(CustomFieldEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def fieldKey(self) -> int: ... + @property + def name(self) -> str: ... + @property + def value(self) -> str: ... + @property + def prevState(self) -> str: ... + + +class CustomizationEvent(VmEvent): + @property + def logLocation(self) -> str: ... + + +class CustomizationFailed(CustomizationEvent): + @property + def reason(self) -> str: ... + + + class ReasonCode(Enum): + userDefinedScriptDisabled = "userdefinedscriptdisabled" + customizationDisabled = "customizationdisabled" + rawDataIsNotSupported = "rawdataisnotsupported" + wrongMetadataFormat = "wrongmetadataformat" + + +class CustomizationLinuxIdentityFailed(CustomizationFailed): ... + + +class CustomizationNetworkSetupFailed(CustomizationFailed): ... + + +class CustomizationStartedEvent(CustomizationEvent): ... + + +class CustomizationSucceeded(CustomizationEvent): ... + + +class CustomizationSysprepFailed(CustomizationFailed): + @property + def sysprepVersion(self) -> str: ... + @property + def systemVersion(self) -> str: ... + + +class CustomizationUnknownFailure(CustomizationFailed): ... + + +class DVPortgroupCreatedEvent(DVPortgroupEvent): ... + + +class DVPortgroupDestroyedEvent(DVPortgroupEvent): ... + + +class DVPortgroupEvent(Event): ... + + +class DVPortgroupReconfiguredEvent(DVPortgroupEvent): + @property + def configSpec(self) -> vim.dvs.DistributedVirtualPortgroup.ConfigSpec: ... + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class DVPortgroupRenamedEvent(DVPortgroupEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class DasAdmissionControlDisabledEvent(ClusterEvent): ... + + +class DasAdmissionControlEnabledEvent(ClusterEvent): ... + + +class DasAgentFoundEvent(ClusterEvent): ... + + +class DasAgentUnavailableEvent(ClusterEvent): ... + + +class DasClusterIsolatedEvent(ClusterEvent): ... + + +class DasDisabledEvent(ClusterEvent): ... + + +class DasEnabledEvent(ClusterEvent): ... + + +class DasHostFailedEvent(ClusterEvent): + @property + def failedHost(self) -> HostEventArgument: ... + + +class DasHostIsolatedEvent(ClusterEvent): + @property + def isolatedHost(self) -> HostEventArgument: ... + + +class DatacenterCreatedEvent(DatacenterEvent): + @property + def parent(self) -> FolderEventArgument: ... + + +class DatacenterEvent(Event): ... + + +class DatacenterEventArgument(EntityEventArgument): + @property + def datacenter(self) -> vim.Datacenter: ... + + +class DatacenterRenamedEvent(DatacenterEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class DatastoreCapacityIncreasedEvent(DatastoreEvent): + @property + def oldCapacity(self) -> long: ... + @property + def newCapacity(self) -> long: ... + + +class DatastoreDestroyedEvent(DatastoreEvent): ... + + +class DatastoreDiscoveredEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + + +class DatastoreDuplicatedEvent(DatastoreEvent): ... + + +class DatastoreEvent(Event): + @property + def datastore(self) -> DatastoreEventArgument: ... + + +class DatastoreEventArgument(EntityEventArgument): + @property + def datastore(self) -> vim.Datastore: ... + + +class DatastoreFileCopiedEvent(DatastoreFileEvent): + @property + def sourceDatastore(self) -> DatastoreEventArgument: ... + @property + def sourceFile(self) -> str: ... + + +class DatastoreFileDeletedEvent(DatastoreFileEvent): ... + + +class DatastoreFileEvent(DatastoreEvent): + @property + def targetFile(self) -> str: ... + @property + def sourceOfOperation(self) -> str: ... + @property + def succeeded(self) -> bool: ... + + +class DatastoreFileMovedEvent(DatastoreFileEvent): + @property + def sourceDatastore(self) -> DatastoreEventArgument: ... + @property + def sourceFile(self) -> str: ... + + +class DatastoreIORMReconfiguredEvent(DatastoreEvent): ... + + +class DatastorePrincipalConfigured(HostEvent): + @property + def datastorePrincipal(self) -> str: ... + + +class DatastoreRemovedOnHostEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + + +class DatastoreRenamedEvent(DatastoreEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class DatastoreRenamedOnHostEvent(HostEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class DrsDisabledEvent(ClusterEvent): ... + + +class DrsEnabledEvent(ClusterEvent): + @property + def behavior(self) -> str: ... + + +class DrsEnteredStandbyModeEvent(EnteredStandbyModeEvent): ... + + +class DrsEnteringStandbyModeEvent(EnteringStandbyModeEvent): ... + + +class DrsExitStandbyModeFailedEvent(ExitStandbyModeFailedEvent): ... + + +class DrsExitedStandbyModeEvent(ExitedStandbyModeEvent): ... + + +class DrsExitingStandbyModeEvent(ExitingStandbyModeEvent): ... + + +class DrsInvocationFailedEvent(ClusterEvent): ... + + +class DrsRecoveredFromFailureEvent(ClusterEvent): ... + + +class DrsResourceConfigureFailedEvent(HostEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class DrsResourceConfigureSyncedEvent(HostEvent): ... + + +class DrsRuleComplianceEvent(VmEvent): ... + + +class DrsRuleViolationEvent(VmEvent): ... + + +class DrsSoftRuleViolationEvent(VmEvent): ... + + +class DrsVmMigratedEvent(VmMigratedEvent): ... + + +class DrsVmPoweredOnEvent(VmPoweredOnEvent): ... + + +class DuplicateIpDetectedEvent(HostEvent): + @property + def duplicateIP(self) -> str: ... + @property + def macAddress(self) -> str: ... + + +class DvpgImportEvent(DVPortgroupEvent): + @property + def importType(self) -> str: ... + + +class DvpgRestoreEvent(DVPortgroupEvent): ... + + +class DvsCreatedEvent(DvsEvent): + @property + def parent(self) -> FolderEventArgument: ... + + +class DvsDestroyedEvent(DvsEvent): ... + + +class DvsEvent(Event): + + + class PortBlockState(Enum): + unset = "unset" + blocked = "blocked" + unblocked = "unblocked" + unknown = "unknown" + + +class DvsEventArgument(EntityEventArgument): + @property + def dvs(self) -> vim.DistributedVirtualSwitch: ... + + +class DvsHealthStatusChangeEvent(HostEvent): + @property + def switchUuid(self) -> str: ... + @property + def healthResult(self) -> vim.dvs.HostMember.HealthCheckResult: ... + + +class DvsHostBackInSyncEvent(DvsEvent): + @property + def hostBackInSync(self) -> HostEventArgument: ... + + +class DvsHostJoinedEvent(DvsEvent): + @property + def hostJoined(self) -> HostEventArgument: ... + + +class DvsHostLeftEvent(DvsEvent): + @property + def hostLeft(self) -> HostEventArgument: ... + + +class DvsHostStatusUpdated(DvsEvent): + @property + def hostMember(self) -> HostEventArgument: ... + @property + def oldStatus(self) -> str: ... + @property + def newStatus(self) -> str: ... + @property + def oldStatusDetail(self) -> str: ... + @property + def newStatusDetail(self) -> str: ... + + +class DvsHostWentOutOfSyncEvent(DvsEvent): + @property + def hostOutOfSync(self) -> DvsOutOfSyncHostArgument: ... + + +class DvsImportEvent(DvsEvent): + @property + def importType(self) -> str: ... + + +class DvsMergedEvent(DvsEvent): + @property + def sourceDvs(self) -> DvsEventArgument: ... + @property + def destinationDvs(self) -> DvsEventArgument: ... + + +class DvsOutOfSyncHostArgument(vmodl.DynamicData): + @property + def outOfSyncHost(self) -> HostEventArgument: ... + @property + def configParamters(self) -> List[str]: ... + + +class DvsPortBlockedEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def statusDetail(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + @property + def prevBlockState(self) -> str: ... + + +class DvsPortConnectedEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def connectee(self) -> vim.dvs.PortConnectee: ... + + +class DvsPortCreatedEvent(DvsEvent): + @property + def portKey(self) -> List[str]: ... + + +class DvsPortDeletedEvent(DvsEvent): + @property + def portKey(self) -> List[str]: ... + + +class DvsPortDisconnectedEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def connectee(self) -> vim.dvs.PortConnectee: ... + + +class DvsPortEnteredPassthruEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + + +class DvsPortExitedPassthruEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + + +class DvsPortJoinPortgroupEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def portgroupKey(self) -> str: ... + @property + def portgroupName(self) -> str: ... + + +class DvsPortLeavePortgroupEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def portgroupKey(self) -> str: ... + @property + def portgroupName(self) -> str: ... + + +class DvsPortLinkDownEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + + +class DvsPortLinkUpEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + + +class DvsPortReconfiguredEvent(DvsEvent): + @property + def portKey(self) -> List[str]: ... + @property + def configChanges(self) -> List[ChangesInfoEventArgument]: ... + + +class DvsPortRuntimeChangeEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + + +class DvsPortUnblockedEvent(DvsEvent): + @property + def portKey(self) -> str: ... + @property + def runtimeInfo(self) -> vim.dvs.DistributedVirtualPort.RuntimeInfo: ... + @property + def prevBlockState(self) -> str: ... + + +class DvsPortVendorSpecificStateChangeEvent(DvsEvent): + @property + def portKey(self) -> str: ... + + +class DvsReconfiguredEvent(DvsEvent): + @property + def configSpec(self) -> vim.DistributedVirtualSwitch.ConfigSpec: ... + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class DvsRenamedEvent(DvsEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class DvsRestoreEvent(DvsEvent): ... + + +class DvsUpgradeAvailableEvent(DvsEvent): + @property + def productInfo(self) -> vim.dvs.ProductSpec: ... + + +class DvsUpgradeInProgressEvent(DvsEvent): + @property + def productInfo(self) -> vim.dvs.ProductSpec: ... + + +class DvsUpgradeRejectedEvent(DvsEvent): + @property + def productInfo(self) -> vim.dvs.ProductSpec: ... + + +class DvsUpgradedEvent(DvsEvent): + @property + def productInfo(self) -> vim.dvs.ProductSpec: ... + + +class EnteredMaintenanceModeEvent(HostEvent): ... + + +class EnteredStandbyModeEvent(HostEvent): ... + + +class EnteringMaintenanceModeEvent(HostEvent): ... + + +class EnteringStandbyModeEvent(HostEvent): ... + + +class EntityEventArgument(EventArgument): + @property + def name(self) -> str: ... + + +class ErrorUpgradeEvent(UpgradeEvent): ... + + +class Event(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def chainId(self) -> int: ... + @property + def createdTime(self) -> datetime: ... + @property + def userName(self) -> str: ... + @property + def datacenter(self) -> DatacenterEventArgument: ... + @property + def computeResource(self) -> ComputeResourceEventArgument: ... + @property + def host(self) -> HostEventArgument: ... + @property + def vm(self) -> VmEventArgument: ... + @property + def ds(self) -> DatastoreEventArgument: ... + @property + def net(self) -> NetworkEventArgument: ... + @property + def dvs(self) -> DvsEventArgument: ... + @property + def fullFormattedMessage(self) -> str: ... + @property + def changeTag(self) -> str: ... + + + class EventSeverity(Enum): + error = "error" + warning = "warning" + info = "info" + user = "user" + + +class EventArgument(vmodl.DynamicData): ... + + +class EventDescription(vmodl.DynamicData): + @property + def category(self) -> List[vim.ElementDescription]: ... + @property + def eventInfo(self) -> List[EventDescription.EventDetail]: ... + @property + def enumeratedTypes(self) -> List[vim.EnumDescription]: ... + + + class EventArgDesc(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def type(self) -> str: ... + @property + def description(self) -> vim.ElementDescription: ... + + + class EventDetail(vmodl.DynamicData): + @property + def key(self) -> type: ... + @property + def description(self) -> str: ... + @property + def category(self) -> str: ... + @property + def formatOnDatacenter(self) -> str: ... + @property + def formatOnComputeResource(self) -> str: ... + @property + def formatOnHost(self) -> str: ... + @property + def formatOnVm(self) -> str: ... + @property + def fullFormat(self) -> str: ... + @property + def longDescription(self) -> str: ... + + + class EventCategory(Enum): + info = "info" + warning = "warning" + error = "error" + user = "user" + + +class EventEx(Event): + @property + def eventTypeId(self) -> str: ... + @property + def severity(self) -> str: ... + @property + def message(self) -> str: ... + @property + def arguments(self) -> List[vmodl.KeyAnyValue]: ... + @property + def objectId(self) -> str: ... + @property + def objectType(self) -> type: ... + @property + def objectName(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class EventFilterSpec(vmodl.DynamicData): + @property + def entity(self) -> EventFilterSpec.ByEntity: ... + @property + def time(self) -> EventFilterSpec.ByTime: ... + @property + def userName(self) -> EventFilterSpec.ByUsername: ... + @property + def eventChainId(self) -> int: ... + @property + def alarm(self) -> vim.alarm.Alarm: ... + @property + def scheduledTask(self) -> vim.scheduler.ScheduledTask: ... + @property + def disableFullMessage(self) -> bool: ... + @property + def category(self) -> List[str]: ... + @property + def type(self) -> List[type]: ... + @property + def tag(self) -> List[str]: ... + @property + def eventTypeId(self) -> List[str]: ... + @property + def maxCount(self) -> int: ... + + + class ByEntity(vmodl.DynamicData): + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def recursion(self) -> EventFilterSpec.RecursionOption: ... + + + class ByTime(vmodl.DynamicData): + @property + def beginTime(self) -> datetime: ... + @property + def endTime(self) -> datetime: ... + + + class ByUsername(vmodl.DynamicData): + @property + def systemUser(self) -> bool: ... + @property + def userList(self) -> List[str]: ... + + + class RecursionOption(Enum): + self = "self" + children = "children" + all = "all" + + +class ExitMaintenanceModeEvent(HostEvent): ... + + +class ExitStandbyModeFailedEvent(HostEvent): ... + + +class ExitedStandbyModeEvent(HostEvent): ... + + +class ExitingStandbyModeEvent(HostEvent): ... + + +class ExtendedEvent(GeneralEvent): + @property + def eventTypeId(self) -> str: ... + @property + def managedObject(self) -> ManagedObject: ... + @property + def data(self) -> List[ExtendedEvent.Pair]: ... + + + class Pair(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> str: ... + + +class FailoverLevelRestored(ClusterEvent): ... + + +class FolderEventArgument(EntityEventArgument): + @property + def folder(self) -> vim.Folder: ... + + +class GeneralEvent(Event): + @property + def message(self) -> str: ... + + +class GeneralHostErrorEvent(GeneralEvent): ... + + +class GeneralHostInfoEvent(GeneralEvent): ... + + +class GeneralHostWarningEvent(GeneralEvent): ... + + +class GeneralUserEvent(GeneralEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class GeneralVmErrorEvent(GeneralEvent): ... + + +class GeneralVmInfoEvent(GeneralEvent): ... + + +class GeneralVmWarningEvent(GeneralEvent): ... + + +class GhostDvsProxySwitchDetectedEvent(HostEvent): + @property + def switchUuid(self) -> List[str]: ... + + +class GhostDvsProxySwitchRemovedEvent(HostEvent): + @property + def switchUuid(self) -> List[str]: ... + + +class GlobalMessageChangedEvent(SessionEvent): + @property + def message(self) -> str: ... + @property + def prevMessage(self) -> str: ... + + +class HealthStatusChangedEvent(Event): + @property + def componentId(self) -> str: ... + @property + def oldStatus(self) -> str: ... + @property + def newStatus(self) -> str: ... + @property + def componentName(self) -> str: ... + @property + def serviceId(self) -> str: ... + + +class HostAddFailedEvent(HostEvent): + @property + def hostname(self) -> str: ... + + +class HostAddedEvent(HostEvent): ... + + +class HostAdminDisableEvent(HostEvent): ... + + +class HostAdminEnableEvent(HostEvent): ... + + +class HostCnxFailedAccountFailedEvent(HostEvent): ... + + +class HostCnxFailedAlreadyManagedEvent(HostEvent): + @property + def serverName(self) -> str: ... + + +class HostCnxFailedBadCcagentEvent(HostEvent): ... + + +class HostCnxFailedBadUsernameEvent(HostEvent): ... + + +class HostCnxFailedBadVersionEvent(HostEvent): ... + + +class HostCnxFailedCcagentUpgradeEvent(HostEvent): ... + + +class HostCnxFailedEvent(HostEvent): ... + + +class HostCnxFailedNetworkErrorEvent(HostEvent): ... + + +class HostCnxFailedNoAccessEvent(HostEvent): ... + + +class HostCnxFailedNoConnectionEvent(HostEvent): ... + + +class HostCnxFailedNoLicenseEvent(HostEvent): ... + + +class HostCnxFailedNotFoundEvent(HostEvent): ... + + +class HostCnxFailedTimeoutEvent(HostEvent): ... + + +class HostComplianceCheckedEvent(HostEvent): + @property + def profile(self) -> ProfileEventArgument: ... + + +class HostCompliantEvent(HostEvent): ... + + +class HostConfigAppliedEvent(HostEvent): ... + + +class HostConnectedEvent(HostEvent): ... + + +class HostConnectionLostEvent(HostEvent): ... + + +class HostDasDisabledEvent(HostEvent): ... + + +class HostDasDisablingEvent(HostEvent): ... + + +class HostDasEnabledEvent(HostEvent): ... + + +class HostDasEnablingEvent(HostEvent): ... + + +class HostDasErrorEvent(HostEvent): + @property + def message(self) -> str: ... + @property + def reason(self) -> str: ... + + + class HostDasErrorReason(Enum): + configFailed = "configfailed" + timeout = "timeout" + communicationInitFailed = "communicationinitfailed" + healthCheckScriptFailed = "healthcheckscriptfailed" + agentFailed = "agentfailed" + agentShutdown = "agentshutdown" + isolationAddressUnpingable = "isolationaddressunpingable" + other = "other" + + +class HostDasEvent(HostEvent): ... + + +class HostDasOkEvent(HostEvent): ... + + +class HostDisconnectedEvent(HostEvent): + @property + def reason(self) -> str: ... + + +class HostEnableAdminFailedEvent(HostEvent): + @property + def permissions(self) -> List[vim.AuthorizationManager.Permission]: ... + + +class HostEvent(Event): ... + + +class HostEventArgument(EntityEventArgument): + @property + def host(self) -> vim.HostSystem: ... + + +class HostExtraNetworksEvent(HostDasEvent): + @property + def ips(self) -> str: ... + + +class HostGetShortNameFailedEvent(HostEvent): ... + + +class HostInAuditModeEvent(HostEvent): ... + + +class HostInventoryFullEvent(LicenseEvent): + @property + def capacity(self) -> int: ... + + +class HostInventoryUnreadableEvent(Event): ... + + +class HostIpChangedEvent(HostEvent): + @property + def oldIP(self) -> str: ... + @property + def newIP(self) -> str: ... + + +class HostIpInconsistentEvent(HostEvent): + @property + def ipAddress(self) -> str: ... + @property + def ipAddress2(self) -> str: ... + + +class HostIpToShortNameFailedEvent(HostEvent): ... + + +class HostIsolationIpPingFailedEvent(HostDasEvent): + @property + def isolationIp(self) -> str: ... + + +class HostLicenseExpiredEvent(LicenseEvent): ... + + +class HostLocalPortCreatedEvent(DvsEvent): + @property + def hostLocalPort(self) -> vim.dvs.DistributedVirtualPort.HostLocalPortInfo: ... + + +class HostMissingNetworksEvent(HostDasEvent): + @property + def ips(self) -> str: ... + + +class HostMonitoringStateChangedEvent(ClusterEvent): + @property + def state(self) -> str: ... + @property + def prevState(self) -> str: ... + + +class HostNoAvailableNetworksEvent(HostDasEvent): + @property + def ips(self) -> str: ... + + +class HostNoHAEnabledPortGroupsEvent(HostDasEvent): ... + + +class HostNoRedundantManagementNetworkEvent(HostDasEvent): ... + + +class HostNonCompliantEvent(HostEvent): ... + + +class HostNotInClusterEvent(HostDasEvent): ... + + +class HostOvercommittedEvent(ClusterOvercommittedEvent): ... + + +class HostPrimaryAgentNotShortNameEvent(HostDasEvent): + @property + def primaryAgent(self) -> str: ... + + +class HostProfileAppliedEvent(HostEvent): + @property + def profile(self) -> ProfileEventArgument: ... + + +class HostReconnectionFailedEvent(HostEvent): ... + + +class HostRemovedEvent(HostEvent): ... + + +class HostShortNameInconsistentEvent(HostDasEvent): + @property + def shortName(self) -> str: ... + @property + def shortName2(self) -> str: ... + + +class HostShortNameToIpFailedEvent(HostEvent): + @property + def shortName(self) -> str: ... + + +class HostShutdownEvent(HostEvent): + @property + def reason(self) -> str: ... + + +class HostSpecificationChangedEvent(HostEvent): ... + + +class HostSpecificationRequireEvent(HostEvent): ... + + +class HostSpecificationUpdateEvent(HostEvent): + @property + def hostSpec(self) -> vim.profile.host.HostSpecification: ... + + +class HostStatusChangedEvent(ClusterStatusChangedEvent): ... + + +class HostSubSpecificationDeleteEvent(HostEvent): + @property + def subSpecName(self) -> str: ... + + +class HostSubSpecificationUpdateEvent(HostEvent): + @property + def hostSubSpec(self) -> vim.profile.host.HostSubSpecification: ... + + +class HostSyncFailedEvent(HostEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class HostUpgradeFailedEvent(HostEvent): ... + + +class HostUserWorldSwapNotEnabledEvent(HostEvent): ... + + +class HostVnicConnectedToCustomizedDVPortEvent(HostEvent): + @property + def vnic(self) -> VnicPortArgument: ... + @property + def prevPortKey(self) -> str: ... + + +class HostWwnChangedEvent(HostEvent): + @property + def oldNodeWwns(self) -> List[long]: ... + @property + def oldPortWwns(self) -> List[long]: ... + @property + def newNodeWwns(self) -> List[long]: ... + @property + def newPortWwns(self) -> List[long]: ... + + +class HostWwnConflictEvent(HostEvent): + @property + def conflictedVms(self) -> List[VmEventArgument]: ... + @property + def conflictedHosts(self) -> List[HostEventArgument]: ... + @property + def wwn(self) -> long: ... + + +class IncorrectHostInformationEvent(LicenseEvent): ... + + +class InfoUpgradeEvent(UpgradeEvent): ... + + +class InsufficientFailoverResourcesEvent(ClusterEvent): ... + + +class InvalidEditionEvent(LicenseEvent): + @property + def feature(self) -> str: ... + + +class LicenseEvent(Event): ... + + +class LicenseExpiredEvent(Event): + @property + def feature(self) -> vim.LicenseManager.FeatureInfo: ... + + +class LicenseNonComplianceEvent(LicenseEvent): + @property + def url(self) -> str: ... + + +class LicenseRestrictedEvent(LicenseEvent): ... + + +class LicenseServerAvailableEvent(LicenseEvent): + @property + def licenseServer(self) -> str: ... + + +class LicenseServerUnavailableEvent(LicenseEvent): + @property + def licenseServer(self) -> str: ... + + +class LocalDatastoreCreatedEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + @property + def datastoreUrl(self) -> str: ... + + +class LocalTSMEnabledEvent(HostEvent): ... + + +class LockerMisconfiguredEvent(Event): + @property + def datastore(self) -> DatastoreEventArgument: ... + + +class LockerReconfiguredEvent(Event): + @property + def oldDatastore(self) -> DatastoreEventArgument: ... + @property + def newDatastore(self) -> DatastoreEventArgument: ... + + +class ManagedEntityEventArgument(EntityEventArgument): + @property + def entity(self) -> vim.ManagedEntity: ... + + +class MigrationErrorEvent(MigrationEvent): ... + + +class MigrationEvent(VmEvent): + @property + def fault(self) -> vmodl.MethodFault: ... + + +class MigrationHostErrorEvent(MigrationEvent): + @property + def dstHost(self) -> HostEventArgument: ... + + +class MigrationHostWarningEvent(MigrationEvent): + @property + def dstHost(self) -> HostEventArgument: ... + + +class MigrationResourceErrorEvent(MigrationEvent): + @property + def dstPool(self) -> ResourcePoolEventArgument: ... + @property + def dstHost(self) -> HostEventArgument: ... + + +class MigrationResourceWarningEvent(MigrationEvent): + @property + def dstPool(self) -> ResourcePoolEventArgument: ... + @property + def dstHost(self) -> HostEventArgument: ... + + +class MigrationWarningEvent(MigrationEvent): ... + + +class MtuMatchEvent(DvsHealthStatusChangeEvent): ... + + +class MtuMismatchEvent(DvsHealthStatusChangeEvent): ... + + +class NASDatastoreCreatedEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + @property + def datastoreUrl(self) -> str: ... + + +class NetworkEventArgument(EntityEventArgument): + @property + def network(self) -> vim.Network: ... + + +class NetworkRollbackEvent(Event): + @property + def methodName(self) -> str: ... + @property + def transactionId(self) -> str: ... + + +class NoAccessUserEvent(SessionEvent): + @property + def ipAddress(self) -> str: ... + + +class NoDatastoresConfiguredEvent(HostEvent): ... + + +class NoLicenseEvent(LicenseEvent): + @property + def feature(self) -> vim.LicenseManager.FeatureInfo: ... + + +class NoMaintenanceModeDrsRecommendationForVM(VmEvent): ... + + +class NonVIWorkloadDetectedOnDatastoreEvent(DatastoreEvent): ... + + +class NotEnoughResourcesToStartVmEvent(VmEvent): + @property + def reason(self) -> str: ... + + +class OutOfSyncDvsHost(DvsEvent): + @property + def hostOutOfSync(self) -> List[DvsOutOfSyncHostArgument]: ... + + +class PermissionAddedEvent(PermissionEvent): + @property + def role(self) -> RoleEventArgument: ... + @property + def propagate(self) -> bool: ... + + +class PermissionEvent(AuthorizationEvent): + @property + def entity(self) -> ManagedEntityEventArgument: ... + @property + def principal(self) -> str: ... + @property + def group(self) -> bool: ... + + +class PermissionRemovedEvent(PermissionEvent): ... + + +class PermissionUpdatedEvent(PermissionEvent): + @property + def role(self) -> RoleEventArgument: ... + @property + def propagate(self) -> bool: ... + @property + def prevRole(self) -> RoleEventArgument: ... + @property + def prevPropagate(self) -> bool: ... + + +class ProfileAssociatedEvent(ProfileEvent): ... + + +class ProfileChangedEvent(ProfileEvent): ... + + +class ProfileCreatedEvent(ProfileEvent): ... + + +class ProfileDissociatedEvent(ProfileEvent): ... + + +class ProfileEvent(Event): + @property + def profile(self) -> ProfileEventArgument: ... + + +class ProfileEventArgument(EventArgument): + @property + def profile(self) -> vim.profile.Profile: ... + @property + def name(self) -> str: ... + + +class ProfileReferenceHostChangedEvent(ProfileEvent): + @property + def referenceHost(self) -> vim.HostSystem: ... + @property + def referenceHostName(self) -> str: ... + @property + def prevReferenceHostName(self) -> str: ... + + +class ProfileRemovedEvent(ProfileEvent): ... + + +class RecoveryEvent(DvsEvent): + @property + def hostName(self) -> str: ... + @property + def portKey(self) -> str: ... + @property + def dvsUuid(self) -> str: ... + @property + def vnic(self) -> str: ... + + +class RemoteTSMEnabledEvent(HostEvent): ... + + +class ResourcePoolCreatedEvent(ResourcePoolEvent): + @property + def parent(self) -> ResourcePoolEventArgument: ... + + +class ResourcePoolDestroyedEvent(ResourcePoolEvent): ... + + +class ResourcePoolEvent(Event): + @property + def resourcePool(self) -> ResourcePoolEventArgument: ... + + +class ResourcePoolEventArgument(EntityEventArgument): + @property + def resourcePool(self) -> vim.ResourcePool: ... + + +class ResourcePoolMovedEvent(ResourcePoolEvent): + @property + def oldParent(self) -> ResourcePoolEventArgument: ... + @property + def newParent(self) -> ResourcePoolEventArgument: ... + + +class ResourcePoolReconfiguredEvent(ResourcePoolEvent): + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class ResourceViolatedEvent(ResourcePoolEvent): ... + + +class RoleAddedEvent(RoleEvent): + @property + def privilegeList(self) -> List[str]: ... + + +class RoleEvent(AuthorizationEvent): + @property + def role(self) -> RoleEventArgument: ... + + +class RoleEventArgument(EventArgument): + @property + def roleId(self) -> int: ... + @property + def name(self) -> str: ... + + +class RoleRemovedEvent(RoleEvent): ... + + +class RoleUpdatedEvent(RoleEvent): + @property + def privilegeList(self) -> List[str]: ... + @property + def prevRoleName(self) -> str: ... + @property + def privilegesAdded(self) -> List[str]: ... + @property + def privilegesRemoved(self) -> List[str]: ... + + +class RollbackEvent(DvsEvent): + @property + def hostName(self) -> str: ... + @property + def methodName(self) -> str: ... + + +class ScheduledTaskCompletedEvent(ScheduledTaskEvent): ... + + +class ScheduledTaskCreatedEvent(ScheduledTaskEvent): ... + + +class ScheduledTaskEmailCompletedEvent(ScheduledTaskEvent): + @property + def to(self) -> str: ... + + +class ScheduledTaskEmailFailedEvent(ScheduledTaskEvent): + @property + def to(self) -> str: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class ScheduledTaskEvent(Event): + @property + def scheduledTask(self) -> ScheduledTaskEventArgument: ... + @property + def entity(self) -> ManagedEntityEventArgument: ... + + +class ScheduledTaskEventArgument(EntityEventArgument): + @property + def scheduledTask(self) -> vim.scheduler.ScheduledTask: ... + + +class ScheduledTaskFailedEvent(ScheduledTaskEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class ScheduledTaskReconfiguredEvent(ScheduledTaskEvent): + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class ScheduledTaskRemovedEvent(ScheduledTaskEvent): ... + + +class ScheduledTaskStartedEvent(ScheduledTaskEvent): ... + + +class ServerLicenseExpiredEvent(LicenseEvent): + @property + def product(self) -> str: ... + + +class ServerStartedSessionEvent(SessionEvent): ... + + +class SessionEvent(Event): ... + + +class SessionTerminatedEvent(SessionEvent): + @property + def sessionId(self) -> str: ... + @property + def terminatedUsername(self) -> str: ... + + +class TaskEvent(Event): + @property + def info(self) -> vim.TaskInfo: ... + + +class TaskTimeoutEvent(TaskEvent): ... + + +class TeamingMatchEvent(DvsHealthStatusChangeEvent): ... + + +class TeamingMisMatchEvent(DvsHealthStatusChangeEvent): ... + + +class TemplateBeingUpgradedEvent(TemplateUpgradeEvent): ... + + +class TemplateUpgradeEvent(Event): + @property + def legacyTemplate(self) -> str: ... + + +class TemplateUpgradeFailedEvent(TemplateUpgradeEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class TemplateUpgradedEvent(TemplateUpgradeEvent): ... + + +class TimedOutHostOperationEvent(HostEvent): ... + + +class UnlicensedVirtualMachinesEvent(LicenseEvent): + @property + def unlicensed(self) -> int: ... + @property + def available(self) -> int: ... + + +class UnlicensedVirtualMachinesFoundEvent(LicenseEvent): + @property + def available(self) -> int: ... + + +class UpdatedAgentBeingRestartedEvent(HostEvent): ... + + +class UpgradeEvent(Event): + @property + def message(self) -> str: ... + + +class UplinkPortMtuNotSupportEvent(DvsHealthStatusChangeEvent): ... + + +class UplinkPortMtuSupportEvent(DvsHealthStatusChangeEvent): ... + + +class UplinkPortVlanTrunkedEvent(DvsHealthStatusChangeEvent): ... + + +class UplinkPortVlanUntrunkedEvent(DvsHealthStatusChangeEvent): ... + + +class UserAssignedToGroup(HostEvent): + @property + def userLogin(self) -> str: ... + @property + def group(self) -> str: ... + + +class UserLoginSessionEvent(SessionEvent): + @property + def ipAddress(self) -> str: ... + @property + def userAgent(self) -> str: ... + @property + def locale(self) -> str: ... + @property + def sessionId(self) -> str: ... + + +class UserLogoutSessionEvent(SessionEvent): + @property + def ipAddress(self) -> str: ... + @property + def userAgent(self) -> str: ... + @property + def callCount(self) -> long: ... + @property + def sessionId(self) -> str: ... + @property + def loginTime(self) -> datetime: ... + + +class UserPasswordChanged(HostEvent): + @property + def userLogin(self) -> str: ... + + +class UserUnassignedFromGroup(HostEvent): + @property + def userLogin(self) -> str: ... + @property + def group(self) -> str: ... + + +class UserUpgradeEvent(UpgradeEvent): ... + + +class VMFSDatastoreCreatedEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + @property + def datastoreUrl(self) -> str: ... + + +class VMFSDatastoreExpandedEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + + +class VMFSDatastoreExtendedEvent(HostEvent): + @property + def datastore(self) -> DatastoreEventArgument: ... + + +class VMotionLicenseExpiredEvent(LicenseEvent): ... + + +class VcAgentUninstallFailedEvent(HostEvent): + @property + def reason(self) -> str: ... + + +class VcAgentUninstalledEvent(HostEvent): ... + + +class VcAgentUpgradeFailedEvent(HostEvent): + @property + def reason(self) -> str: ... + + +class VcAgentUpgradedEvent(HostEvent): ... + + +class VimAccountPasswordChangedEvent(HostEvent): ... + + +class VmAcquiredMksTicketEvent(VmEvent): ... + + +class VmAcquiredTicketEvent(VmEvent): + @property + def ticketType(self) -> str: ... + + +class VmAutoRenameEvent(VmEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class VmBeingClonedEvent(VmCloneEvent): + @property + def destFolder(self) -> FolderEventArgument: ... + @property + def destName(self) -> str: ... + @property + def destHost(self) -> HostEventArgument: ... + + +class VmBeingClonedNoFolderEvent(VmCloneEvent): + @property + def destName(self) -> str: ... + @property + def destHost(self) -> HostEventArgument: ... + + +class VmBeingCreatedEvent(VmEvent): + @property + def configSpec(self) -> vim.vm.ConfigSpec: ... + + +class VmBeingDeployedEvent(VmEvent): + @property + def srcTemplate(self) -> VmEventArgument: ... + + +class VmBeingHotMigratedEvent(VmEvent): + @property + def destHost(self) -> HostEventArgument: ... + @property + def destDatacenter(self) -> DatacenterEventArgument: ... + @property + def destDatastore(self) -> DatastoreEventArgument: ... + + +class VmBeingMigratedEvent(VmEvent): + @property + def destHost(self) -> HostEventArgument: ... + @property + def destDatacenter(self) -> DatacenterEventArgument: ... + @property + def destDatastore(self) -> DatastoreEventArgument: ... + + +class VmBeingRelocatedEvent(VmRelocateSpecEvent): + @property + def destHost(self) -> HostEventArgument: ... + @property + def destDatacenter(self) -> DatacenterEventArgument: ... + @property + def destDatastore(self) -> DatastoreEventArgument: ... + + +class VmCloneEvent(VmEvent): ... + + +class VmCloneFailedEvent(VmCloneEvent): + @property + def destFolder(self) -> FolderEventArgument: ... + @property + def destName(self) -> str: ... + @property + def destHost(self) -> HostEventArgument: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmClonedEvent(VmCloneEvent): + @property + def sourceVm(self) -> VmEventArgument: ... + + +class VmConfigMissingEvent(VmEvent): ... + + +class VmConnectedEvent(VmEvent): ... + + +class VmCreatedEvent(VmEvent): ... + + +class VmDasBeingResetEvent(VmEvent): + @property + def reason(self) -> str: ... + + +class VmDasBeingResetWithScreenshotEvent(VmDasBeingResetEvent): + @property + def screenshotFilePath(self) -> str: ... + + +class VmDasResetFailedEvent(VmEvent): ... + + +class VmDasUpdateErrorEvent(VmEvent): ... + + +class VmDasUpdateOkEvent(VmEvent): ... + + +class VmDateRolledBackEvent(VmEvent): ... + + +class VmDeployFailedEvent(VmEvent): + @property + def destDatastore(self) -> EntityEventArgument: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmDeployedEvent(VmEvent): + @property + def srcTemplate(self) -> VmEventArgument: ... + + +class VmDisconnectedEvent(VmEvent): ... + + +class VmDiscoveredEvent(VmEvent): ... + + +class VmDiskFailedEvent(VmEvent): + @property + def disk(self) -> str: ... + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmEmigratingEvent(VmEvent): ... + + +class VmEndRecordingEvent(VmEvent): ... + + +class VmEndReplayingEvent(VmEvent): ... + + +class VmEvent(Event): + @property + def template(self) -> bool: ... + + +class VmEventArgument(EntityEventArgument): + @property + def vm(self) -> vim.VirtualMachine: ... + + +class VmFailedMigrateEvent(VmEvent): + @property + def destHost(self) -> HostEventArgument: ... + @property + def reason(self) -> vmodl.MethodFault: ... + @property + def destDatacenter(self) -> DatacenterEventArgument: ... + @property + def destDatastore(self) -> DatastoreEventArgument: ... + + +class VmFailedRelayoutEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedRelayoutOnVmfs2DatastoreEvent(VmEvent): ... + + +class VmFailedStartingSecondaryEvent(VmEvent): + @property + def reason(self) -> str: ... + + + class FailureReason(Enum): + incompatibleHost = "incompatiblehost" + loginFailed = "loginfailed" + registerVmFailed = "registervmfailed" + migrateFailed = "migratefailed" + + +class VmFailedToPowerOffEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedToPowerOnEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedToRebootGuestEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedToResetEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedToShutdownGuestEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedToStandbyGuestEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedToSuspendEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFailedUpdatingSecondaryConfig(VmEvent): ... + + +class VmFailoverFailed(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmFaultToleranceStateChangedEvent(VmEvent): + @property + def oldState(self) -> vim.VirtualMachine.FaultToleranceState: ... + @property + def newState(self) -> vim.VirtualMachine.FaultToleranceState: ... + + +class VmFaultToleranceTurnedOffEvent(VmEvent): ... + + +class VmFaultToleranceVmTerminatedEvent(VmEvent): + @property + def reason(self) -> str: ... + + +class VmGuestOSCrashedEvent(VmEvent): ... + + +class VmGuestRebootEvent(VmEvent): ... + + +class VmGuestShutdownEvent(VmEvent): ... + + +class VmGuestStandbyEvent(VmEvent): ... + + +class VmHealthMonitoringStateChangedEvent(ClusterEvent): + @property + def state(self) -> str: ... + @property + def prevState(self) -> str: ... + + +class VmInstanceUuidAssignedEvent(VmEvent): + @property + def instanceUuid(self) -> str: ... + + +class VmInstanceUuidChangedEvent(VmEvent): + @property + def oldInstanceUuid(self) -> str: ... + @property + def newInstanceUuid(self) -> str: ... + + +class VmInstanceUuidConflictEvent(VmEvent): + @property + def conflictedVm(self) -> VmEventArgument: ... + @property + def instanceUuid(self) -> str: ... + + +class VmMacAssignedEvent(VmEvent): + @property + def adapter(self) -> str: ... + @property + def mac(self) -> str: ... + + +class VmMacChangedEvent(VmEvent): + @property + def adapter(self) -> str: ... + @property + def oldMac(self) -> str: ... + @property + def newMac(self) -> str: ... + + +class VmMacConflictEvent(VmEvent): + @property + def conflictedVm(self) -> VmEventArgument: ... + @property + def mac(self) -> str: ... + + +class VmMaxFTRestartCountReached(VmEvent): ... + + +class VmMaxRestartCountReached(VmEvent): ... + + +class VmMessageErrorEvent(VmEvent): + @property + def message(self) -> str: ... + @property + def messageInfo(self) -> List[vim.vm.Message]: ... + + +class VmMessageEvent(VmEvent): + @property + def message(self) -> str: ... + @property + def messageInfo(self) -> List[vim.vm.Message]: ... + + +class VmMessageWarningEvent(VmEvent): + @property + def message(self) -> str: ... + @property + def messageInfo(self) -> List[vim.vm.Message]: ... + + +class VmMigratedEvent(VmEvent): + @property + def sourceHost(self) -> HostEventArgument: ... + @property + def sourceDatacenter(self) -> DatacenterEventArgument: ... + @property + def sourceDatastore(self) -> DatastoreEventArgument: ... + + +class VmNoCompatibleHostForSecondaryEvent(VmEvent): ... + + +class VmNoNetworkAccessEvent(VmEvent): + @property + def destHost(self) -> HostEventArgument: ... + + +class VmOrphanedEvent(VmEvent): ... + + +class VmPowerOffOnIsolationEvent(VmPoweredOffEvent): + @property + def isolatedHost(self) -> HostEventArgument: ... + + +class VmPoweredOffEvent(VmEvent): ... + + +class VmPoweredOnEvent(VmEvent): ... + + +class VmPoweringOnWithCustomizedDVPortEvent(VmEvent): + @property + def vnic(self) -> List[VnicPortArgument]: ... + + +class VmPrimaryFailoverEvent(VmEvent): + @property + def reason(self) -> str: ... + + +class VmReconfiguredEvent(VmEvent): + @property + def configSpec(self) -> vim.vm.ConfigSpec: ... + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class VmRegisteredEvent(VmEvent): ... + + +class VmRelayoutSuccessfulEvent(VmEvent): ... + + +class VmRelayoutUpToDateEvent(VmEvent): ... + + +class VmReloadFromPathEvent(VmEvent): + @property + def configPath(self) -> str: ... + + +class VmReloadFromPathFailedEvent(VmEvent): + @property + def configPath(self) -> str: ... + + +class VmRelocateFailedEvent(VmRelocateSpecEvent): + @property + def destHost(self) -> HostEventArgument: ... + @property + def reason(self) -> vmodl.MethodFault: ... + @property + def destDatacenter(self) -> DatacenterEventArgument: ... + @property + def destDatastore(self) -> DatastoreEventArgument: ... + + +class VmRelocateSpecEvent(VmEvent): ... + + +class VmRelocatedEvent(VmRelocateSpecEvent): + @property + def sourceHost(self) -> HostEventArgument: ... + @property + def sourceDatacenter(self) -> DatacenterEventArgument: ... + @property + def sourceDatastore(self) -> DatastoreEventArgument: ... + + +class VmRemoteConsoleConnectedEvent(VmEvent): ... + + +class VmRemoteConsoleDisconnectedEvent(VmEvent): ... + + +class VmRemovedEvent(VmEvent): ... + + +class VmRenamedEvent(VmEvent): + @property + def oldName(self) -> str: ... + @property + def newName(self) -> str: ... + + +class VmRequirementsExceedCurrentEVCModeEvent(VmEvent): ... + + +class VmResettingEvent(VmEvent): ... + + +class VmResourcePoolMovedEvent(VmEvent): + @property + def oldParent(self) -> ResourcePoolEventArgument: ... + @property + def newParent(self) -> ResourcePoolEventArgument: ... + + +class VmResourceReallocatedEvent(VmEvent): + @property + def configChanges(self) -> ChangesInfoEventArgument: ... + + +class VmRestartedOnAlternateHostEvent(VmPoweredOnEvent): + @property + def sourceHost(self) -> HostEventArgument: ... + + +class VmResumingEvent(VmEvent): ... + + +class VmSecondaryAddedEvent(VmEvent): ... + + +class VmSecondaryDisabledBySystemEvent(VmEvent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class VmSecondaryDisabledEvent(VmEvent): ... + + +class VmSecondaryEnabledEvent(VmEvent): ... + + +class VmSecondaryStartedEvent(VmEvent): ... + + +class VmShutdownOnIsolationEvent(VmPoweredOffEvent): + @property + def isolatedHost(self) -> HostEventArgument: ... + @property + def shutdownResult(self) -> str: ... + + + class Operation(Enum): + shutdown = "shutdown" + poweredOff = "poweredoff" + + +class VmStartRecordingEvent(VmEvent): ... + + +class VmStartReplayingEvent(VmEvent): ... + + +class VmStartingEvent(VmEvent): ... + + +class VmStartingSecondaryEvent(VmEvent): ... + + +class VmStaticMacConflictEvent(VmEvent): + @property + def conflictedVm(self) -> VmEventArgument: ... + @property + def mac(self) -> str: ... + + +class VmStoppingEvent(VmEvent): ... + + +class VmSuspendedEvent(VmEvent): ... + + +class VmSuspendingEvent(VmEvent): ... + + +class VmTimedoutStartingSecondaryEvent(VmEvent): + @property + def timeout(self) -> long: ... + + +class VmUnsupportedStartingEvent(VmStartingEvent): + @property + def guestId(self) -> str: ... + + +class VmUpgradeCompleteEvent(VmEvent): + @property + def version(self) -> str: ... + + +class VmUpgradeFailedEvent(VmEvent): ... + + +class VmUpgradingEvent(VmEvent): + @property + def version(self) -> str: ... + + +class VmUuidAssignedEvent(VmEvent): + @property + def uuid(self) -> str: ... + + +class VmUuidChangedEvent(VmEvent): + @property + def oldUuid(self) -> str: ... + @property + def newUuid(self) -> str: ... + + +class VmUuidConflictEvent(VmEvent): + @property + def conflictedVm(self) -> VmEventArgument: ... + @property + def uuid(self) -> str: ... + + +class VmVnicPoolReservationViolationClearEvent(DvsEvent): + @property + def vmVnicResourcePoolKey(self) -> str: ... + @property + def vmVnicResourcePoolName(self) -> str: ... + + +class VmVnicPoolReservationViolationRaiseEvent(DvsEvent): + @property + def vmVnicResourcePoolKey(self) -> str: ... + @property + def vmVnicResourcePoolName(self) -> str: ... + + +class VmWwnAssignedEvent(VmEvent): + @property + def nodeWwns(self) -> List[long]: ... + @property + def portWwns(self) -> List[long]: ... + + +class VmWwnChangedEvent(VmEvent): + @property + def oldNodeWwns(self) -> List[long]: ... + @property + def oldPortWwns(self) -> List[long]: ... + @property + def newNodeWwns(self) -> List[long]: ... + @property + def newPortWwns(self) -> List[long]: ... + + +class VmWwnConflictEvent(VmEvent): + @property + def conflictedVms(self) -> List[VmEventArgument]: ... + @property + def conflictedHosts(self) -> List[HostEventArgument]: ... + @property + def wwn(self) -> long: ... + + +class VnicPortArgument(vmodl.DynamicData): + @property + def vnic(self) -> str: ... + @property + def port(self) -> vim.dvs.PortConnection: ... + + +class WarningUpgradeEvent(UpgradeEvent): ... + + +class iScsiBootFailureEvent(HostEvent): ... \ No newline at end of file diff --git a/pyVmomi/vim/ext/__init__.pyi b/pyVmomi/vim/ext/__init__.pyi new file mode 100644 index 000000000..7bc728374 --- /dev/null +++ b/pyVmomi/vim/ext/__init__.pyi @@ -0,0 +1,45 @@ +from typing import List +from pyVmomi import vim, vmodl + + +class ExtendedProductInfo(vmodl.DynamicData): + @property + def companyUrl(self) -> str: ... + @property + def productUrl(self) -> str: ... + @property + def managementUrl(self) -> str: ... + @property + def self(self) -> vim.ManagedEntity: ... + + +class ManagedByInfo(vmodl.DynamicData): + @property + def extensionKey(self) -> str: ... + @property + def type(self) -> str: ... + + +class ManagedEntityInfo(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def smallIconUrl(self) -> str: ... + @property + def iconUrl(self) -> str: ... + @property + def description(self) -> str: ... + + +class SolutionManagerInfo(vmodl.DynamicData): + @property + def tab(self) -> List[SolutionManagerInfo.TabInfo]: ... + @property + def smallIconUrl(self) -> str: ... + + + class TabInfo(vmodl.DynamicData): + @property + def label(self) -> str: ... + @property + def url(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/fault/__init__.pyi b/pyVmomi/vim/fault/__init__.pyi new file mode 100644 index 000000000..dc836ab3d --- /dev/null +++ b/pyVmomi/vim/fault/__init__.pyi @@ -0,0 +1,3497 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, PropertyPath, long + + +class ActiveDirectoryFault(VimFault): + @property + def errorCode(self) -> int: ... + + +class ActiveVMsBlockingEVC(EVCConfigFault): + @property + def evcMode(self) -> str: ... + @property + def host(self) -> List[vim.HostSystem]: ... + @property + def hostName(self) -> List[str]: ... + + +class AdminDisabled(HostConfigFault): ... + + +class AdminNotDisabled(HostConfigFault): ... + + +class AffinityConfigured(MigrationFault): + @property + def configuredAffinity(self) -> List[str]: ... + + + class Affinity(Enum): + memory = "memory" + cpu = "cpu" + + +class AgentInstallFailed(HostConnectFault): + @property + def reason(self) -> str: ... + @property + def statusCode(self) -> int: ... + @property + def installerOutput(self) -> str: ... + + + class Reason(Enum): + NotEnoughSpaceOnDevice = "notenoughspaceondevice" + PrepareToUpgradeFailed = "preparetoupgradefailed" + AgentNotRunning = "agentnotrunning" + AgentNotReachable = "agentnotreachable" + InstallTimedout = "installtimedout" + SignatureVerificationFailed = "signatureverificationfailed" + AgentUploadFailed = "agentuploadfailed" + AgentUploadTimedout = "agentuploadtimedout" + UnknownInstallerError = "unknowninstallererror" + + +class AlreadyBeingManaged(HostConnectFault): + @property + def ipAddress(self) -> str: ... + + +class AlreadyConnected(HostConnectFault): + @property + def name(self) -> str: ... + + +class AlreadyExists(VimFault): + @property + def name(self) -> str: ... + + +class AlreadyUpgraded(VimFault): ... + + +class AnswerFileUpdateFailed(VimFault): + @property + def failure(self) -> List[AnswerFileUpdateFailed.UpdateFailure]: ... + + + class UpdateFailure(vmodl.DynamicData): + @property + def userInputPath(self) -> vim.profile.ProfilePropertyPath: ... + @property + def errMsg(self) -> vmodl.LocalizableMessage: ... + + +class ApplicationQuiesceFault(SnapshotFault): ... + + +class AuthMinimumAdminPermission(VimFault): ... + + +class BackupBlobReadFailure(DvsFault): + @property + def entityName(self) -> str: ... + @property + def entityType(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class BackupBlobWriteFailure(DvsFault): + @property + def entityName(self) -> str: ... + @property + def entityType(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class BlockedByFirewall(HostConfigFault): ... + + +class CAMServerRefusedConnection(InvalidCAMServer): ... + + +class CannotAccessFile(FileFault): ... + + +class CannotAccessLocalSource(VimFault): ... + + +class CannotAccessNetwork(CannotAccessVmDevice): + @property + def network(self) -> vim.Network: ... + + +class CannotAccessVmComponent(VmConfigFault): ... + + +class CannotAccessVmConfig(CannotAccessVmComponent): + @property + def reason(self) -> vmodl.MethodFault: ... + + +class CannotAccessVmDevice(CannotAccessVmComponent): + @property + def device(self) -> str: ... + @property + def backing(self) -> str: ... + @property + def connected(self) -> bool: ... + + +class CannotAccessVmDisk(CannotAccessVmDevice): + @property + def fault(self) -> vmodl.MethodFault: ... + + +class CannotAddHostWithFTVmAsStandalone(HostConnectFault): ... + + +class CannotAddHostWithFTVmToDifferentCluster(HostConnectFault): ... + + +class CannotAddHostWithFTVmToNonHACluster(HostConnectFault): ... + + +class CannotChangeDrsBehaviorForFtSecondary(VmFaultToleranceIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class CannotChangeHaSettingsForFtSecondary(VmFaultToleranceIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class CannotChangeVsanClusterUuid(VsanFault): ... + + +class CannotChangeVsanNodeUuid(VsanFault): ... + + +class CannotComputeFTCompatibleHosts(VmFaultToleranceIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class CannotCreateFile(FileFault): ... + + +class CannotDecryptPasswords(CustomizationFault): ... + + +class CannotDeleteFile(FileFault): ... + + +class CannotDisableDrsOnClustersWithVApps(vmodl.RuntimeFault): ... + + +class CannotDisableSnapshot(VmConfigFault): ... + + +class CannotDisconnectHostWithFaultToleranceVm(VimFault): + @property + def hostName(self) -> str: ... + + +class CannotEnableVmcpForCluster(VimFault): + @property + def host(self) -> vim.HostSystem: ... + @property + def hostName(self) -> str: ... + @property + def reason(self) -> str: ... + + +class CannotModifyConfigCpuRequirements(MigrationFault): ... + + +class CannotMoveFaultToleranceVm(VimFault): + @property + def moveType(self) -> str: ... + @property + def vmName(self) -> str: ... + + + class MoveType(Enum): + resourcePool = "resourcepool" + cluster = "cluster" + + +class CannotMoveHostWithFaultToleranceVm(VimFault): ... + + +class CannotMoveVmWithDeltaDisk(MigrationFault): + @property + def device(self) -> str: ... + + +class CannotMoveVmWithNativeDeltaDisk(MigrationFault): ... + + +class CannotMoveVsanEnabledHost(VsanFault): ... + + +class CannotPlaceWithoutPrerequisiteMoves(VimFault): ... + + +class CannotPowerOffVmInCluster(InvalidState): + @property + def operation(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + + class Operation(Enum): + suspend = "suspend" + powerOff = "poweroff" + guestShutdown = "guestshutdown" + guestSuspend = "guestsuspend" + + +class CannotReconfigureVsanWhenHaEnabled(VsanFault): ... + + +class CannotUseNetwork(VmConfigFault): + @property + def device(self) -> str: ... + @property + def backing(self) -> str: ... + @property + def connected(self) -> bool: ... + @property + def reason(self) -> str: ... + @property + def network(self) -> vim.Network: ... + + +class ClockSkew(HostConfigFault): ... + + +class CloneFromSnapshotNotSupported(MigrationFault): ... + + +class CollectorAddressUnset(DvsFault): ... + + +class ConcurrentAccess(VimFault): ... + + +class ConflictingConfiguration(DvsFault): + @property + def configInConflict(self) -> List[ConflictingConfiguration.Config]: ... + + + class Config(vmodl.DynamicData): + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def propertyPath(self) -> str: ... + + +class ConflictingDatastoreFound(vmodl.RuntimeFault): + @property + def name(self) -> str: ... + @property + def url(self) -> str: ... + + +class ConnectedIso(OvfExport): + @property + def cdrom(self) -> vim.vm.device.VirtualCdrom: ... + @property + def filename(self) -> str: ... + + +class CpuCompatibilityUnknown(CpuIncompatible): ... + + +class CpuHotPlugNotSupported(VmConfigFault): ... + + +class CpuIncompatible(VirtualHardwareCompatibilityIssue): + @property + def level(self) -> int: ... + @property + def registerName(self) -> str: ... + @property + def registerBits(self) -> str: ... + @property + def desiredBits(self) -> str: ... + @property + def host(self) -> vim.HostSystem: ... + + +class CpuIncompatible1ECX(CpuIncompatible): + @property + def sse3(self) -> bool: ... + @property + def pclmulqdq(self) -> bool: ... + @property + def ssse3(self) -> bool: ... + @property + def sse41(self) -> bool: ... + @property + def sse42(self) -> bool: ... + @property + def aes(self) -> bool: ... + @property + def other(self) -> bool: ... + @property + def otherOnly(self) -> bool: ... + + +class CpuIncompatible81EDX(CpuIncompatible): + @property + def nx(self) -> bool: ... + @property + def ffxsr(self) -> bool: ... + @property + def rdtscp(self) -> bool: ... + @property + def lm(self) -> bool: ... + @property + def other(self) -> bool: ... + @property + def otherOnly(self) -> bool: ... + + +class CustomizationFault(VimFault): ... + + +class CustomizationPending(CustomizationFault): ... + + +class DVPortNotSupported(DeviceBackingNotSupported): ... + + +class DasConfigFault(VimFault): + @property + def reason(self) -> str: ... + @property + def output(self) -> str: ... + @property + def event(self) -> List[vim.event.Event]: ... + + + class DasConfigFaultReason(Enum): + HostNetworkMisconfiguration = "hostnetworkmisconfiguration" + HostMisconfiguration = "hostmisconfiguration" + InsufficientPrivileges = "insufficientprivileges" + NoPrimaryAgentAvailable = "noprimaryagentavailable" + Other = "other" + NoDatastoresConfigured = "nodatastoresconfigured" + CreateConfigVvolFailed = "createconfigvvolfailed" + VSanNotSupportedOnHost = "vsannotsupportedonhost" + DasNetworkMisconfiguration = "dasnetworkmisconfiguration" + SetDesiredImageSpecFailed = "setdesiredimagespecfailed" + ApplyHAVibsOnClusterFailed = "applyhavibsonclusterfailed" + + +class DatabaseError(vmodl.RuntimeFault): ... + + +class DatacenterMismatch(MigrationFault): + @property + def invalidArgument(self) -> List[DatacenterMismatch.Argument]: ... + @property + def expectedDatacenter(self) -> vim.Datacenter: ... + + + class Argument(vmodl.DynamicData): + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def inputDatacenter(self) -> vim.Datacenter: ... + + +class DatastoreNotWritableOnHost(InvalidDatastore): + @property + def host(self) -> vim.HostSystem: ... + + +class DeltaDiskFormatNotSupported(VmConfigFault): + @property + def datastore(self) -> List[vim.Datastore]: ... + @property + def deltaDiskFormat(self) -> str: ... + + +class DestinationSwitchFull(CannotAccessNetwork): ... + + +class DestinationVsanDisabled(CannotMoveVsanEnabledHost): + @property + def destinationCluster(self) -> str: ... + + +class DeviceBackingNotSupported(DeviceNotSupported): + @property + def backing(self) -> str: ... + + +class DeviceControllerNotSupported(DeviceNotSupported): + @property + def controller(self) -> str: ... + + +class DeviceHotPlugNotSupported(InvalidDeviceSpec): ... + + +class DeviceNotFound(InvalidDeviceSpec): ... + + +class DeviceNotSupported(VirtualHardwareCompatibilityIssue): + @property + def device(self) -> str: ... + @property + def reason(self) -> str: ... + + +class DeviceUnsupportedForVmPlatform(InvalidDeviceSpec): ... + + +class DeviceUnsupportedForVmVersion(InvalidDeviceSpec): + @property + def currentVersion(self) -> str: ... + @property + def expectedVersion(self) -> str: ... + + +class DigestNotSupported(DeviceNotSupported): ... + + +class DirectoryNotEmpty(FileFault): ... + + +class DisableAdminNotSupported(HostConfigFault): ... + + +class DisallowedChangeByService(vmodl.RuntimeFault): + @property + def serviceName(self) -> str: ... + @property + def disallowedChange(self) -> str: ... + + + class DisallowedChange(Enum): + hotExtendDisk = "hotextenddisk" + + +class DisallowedDiskModeChange(InvalidDeviceSpec): ... + + +class DisallowedMigrationDeviceAttached(MigrationFault): + @property + def fault(self) -> vmodl.MethodFault: ... + + +class DisallowedOperationOnFailoverHost(vmodl.RuntimeFault): + @property + def host(self) -> vim.HostSystem: ... + @property + def hostname(self) -> str: ... + + +class DisconnectedHostsBlockingEVC(EVCConfigFault): ... + + +class DiskHasPartitions(VsanDiskFault): ... + + +class DiskIsLastRemainingNonSSD(VsanDiskFault): ... + + +class DiskIsNonLocal(VsanDiskFault): ... + + +class DiskIsUSB(VsanDiskFault): ... + + +class DiskMoveTypeNotSupported(MigrationFault): ... + + +class DiskNotSupported(VirtualHardwareCompatibilityIssue): + @property + def disk(self) -> int: ... + + +class DiskTooSmall(VsanDiskFault): ... + + +class DomainNotFound(ActiveDirectoryFault): + @property + def domainName(self) -> str: ... + + +class DrsDisabledOnVm(VimFault): ... + + +class DrsVmotionIncompatibleFault(VirtualHardwareCompatibilityIssue): + @property + def host(self) -> vim.HostSystem: ... + + +class DuplicateDisks(VsanDiskFault): ... + + +class DuplicateName(VimFault): + @property + def name(self) -> str: ... + @property + def object(self) -> ManagedObject: ... + + +class DuplicateVsanNetworkInterface(VsanFault): + @property + def device(self) -> str: ... + + +class DvsApplyOperationFault(DvsFault): + @property + def objectFault(self) -> List[DvsApplyOperationFault.FaultOnObject]: ... + + + class FaultOnObject(vmodl.DynamicData): + @property + def objectId(self) -> str: ... + @property + def type(self) -> type: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class DvsFault(VimFault): ... + + +class DvsNotAuthorized(DvsFault): + @property + def sessionExtensionKey(self) -> str: ... + @property + def dvsExtensionKey(self) -> str: ... + + +class DvsOperationBulkFault(DvsFault): + @property + def hostFault(self) -> List[DvsOperationBulkFault.FaultOnHost]: ... + + + class FaultOnHost(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class DvsScopeViolated(DvsFault): + @property + def scope(self) -> List[vim.ManagedEntity]: ... + @property + def entity(self) -> vim.ManagedEntity: ... + + +class EVCAdmissionFailed(NotSupportedHostInCluster): + @property + def faults(self) -> List[vmodl.MethodFault]: ... + + +class EVCAdmissionFailedCPUFeaturesForMode(EVCAdmissionFailed): + @property + def currentEVCModeKey(self) -> str: ... + + +class EVCAdmissionFailedCPUModel(EVCAdmissionFailed): ... + + +class EVCAdmissionFailedCPUModelForMode(EVCAdmissionFailed): + @property + def currentEVCModeKey(self) -> str: ... + + +class EVCAdmissionFailedCPUVendor(EVCAdmissionFailed): + @property + def clusterCPUVendor(self) -> str: ... + @property + def hostCPUVendor(self) -> str: ... + + +class EVCAdmissionFailedCPUVendorUnknown(EVCAdmissionFailed): ... + + +class EVCAdmissionFailedHostDisconnected(EVCAdmissionFailed): ... + + +class EVCAdmissionFailedHostSoftware(EVCAdmissionFailed): ... + + +class EVCAdmissionFailedHostSoftwareForMode(EVCAdmissionFailed): ... + + +class EVCAdmissionFailedVmActive(EVCAdmissionFailed): ... + + +class EVCConfigFault(VimFault): + @property + def faults(self) -> List[vmodl.MethodFault]: ... + + +class EVCModeIllegalByVendor(EVCConfigFault): + @property + def clusterCPUVendor(self) -> str: ... + @property + def modeCPUVendor(self) -> str: ... + + +class EVCModeUnsupportedByHosts(EVCConfigFault): + @property + def evcMode(self) -> str: ... + @property + def host(self) -> List[vim.HostSystem]: ... + @property + def hostName(self) -> List[str]: ... + + +class EVCUnsupportedByHostHardware(EVCConfigFault): + @property + def host(self) -> List[vim.HostSystem]: ... + @property + def hostName(self) -> List[str]: ... + + +class EVCUnsupportedByHostSoftware(EVCConfigFault): + @property + def host(self) -> List[vim.HostSystem]: ... + @property + def hostName(self) -> List[str]: ... + + +class EightHostLimitViolated(VmConfigFault): ... + + +class EncryptionKeyRequired(InvalidState): + @property + def requiredKey(self) -> List[vim.encryption.CryptoKeyId]: ... + + +class ExpiredAddonLicense(ExpiredFeatureLicense): ... + + +class ExpiredEditionLicense(ExpiredFeatureLicense): ... + + +class ExpiredFeatureLicense(NotEnoughLicenses): + @property + def feature(self) -> str: ... + @property + def count(self) -> int: ... + @property + def expirationDate(self) -> datetime: ... + + +class ExtendedFault(VimFault): + @property + def faultTypeId(self) -> str: ... + @property + def data(self) -> List[vim.KeyValue]: ... + + +class FailToEnableSPBM(NotEnoughLicenses): + @property + def cs(self) -> vim.ComputeResource: ... + @property + def csName(self) -> str: ... + @property + def hostLicenseStates(self) -> List[vim.ComputeResource.HostSPBMLicenseInfo]: ... + + +class FailToLockFaultToleranceVMs(vmodl.RuntimeFault): + @property + def vmName(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def alreadyLockedVm(self) -> vim.VirtualMachine: ... + + +class FaultToleranceAntiAffinityViolated(MigrationFault): + @property + def hostName(self) -> str: ... + @property + def host(self) -> vim.HostSystem: ... + + +class FaultToleranceCannotEditMem(VmConfigFault): + @property + def vmName(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + + +class FaultToleranceCpuIncompatible(CpuIncompatible): + @property + def model(self) -> bool: ... + @property + def family(self) -> bool: ... + @property + def stepping(self) -> bool: ... + + +class FaultToleranceNeedsThickDisk(MigrationFault): + @property + def vmName(self) -> str: ... + + +class FaultToleranceNotLicensed(VmFaultToleranceIssue): + @property + def hostName(self) -> str: ... + + +class FaultToleranceNotSameBuild(MigrationFault): + @property + def build(self) -> str: ... + + +class FaultTolerancePrimaryPowerOnNotAttempted(VmFaultToleranceIssue): + @property + def secondaryVm(self) -> vim.VirtualMachine: ... + @property + def primaryVm(self) -> vim.VirtualMachine: ... + + +class FaultToleranceVmNotDasProtected(VimFault): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class FcoeFault(VimFault): ... + + +class FcoeFaultPnicHasNoPortSet(FcoeFault): + @property + def nicDevice(self) -> str: ... + + +class FeatureRequirementsNotMet(VirtualHardwareCompatibilityIssue): + @property + def featureRequirement(self) -> List[vim.vm.FeatureRequirement]: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def host(self) -> vim.HostSystem: ... + + +class FileAlreadyExists(FileFault): ... + + +class FileBackedPortNotSupported(DeviceNotSupported): ... + + +class FileFault(VimFault): + @property + def file(self) -> str: ... + + +class FileLocked(FileFault): ... + + +class FileNameTooLong(FileFault): ... + + +class FileNotFound(FileFault): ... + + +class FileNotWritable(FileFault): ... + + +class FileTooLarge(FileFault): + @property + def datastore(self) -> str: ... + @property + def fileSize(self) -> long: ... + @property + def maxFileSize(self) -> long: ... + + +class FilesystemQuiesceFault(SnapshotFault): ... + + +class FilterInUse(ResourceInUse): + @property + def disk(self) -> List[vim.vm.device.VirtualDiskId]: ... + + +class FtIssuesOnHost(VmFaultToleranceIssue): + @property + def host(self) -> vim.HostSystem: ... + @property + def hostName(self) -> str: ... + @property + def errors(self) -> List[vmodl.MethodFault]: ... + + + class HostSelectionType(Enum): + user = "user" + vc = "vc" + drs = "drs" + + +class FullStorageVMotionNotSupported(MigrationFeatureNotSupported): ... + + +class GatewayConnectFault(HostConnectFault): + @property + def gatewayType(self) -> str: ... + @property + def gatewayId(self) -> str: ... + @property + def gatewayInfo(self) -> str: ... + @property + def details(self) -> vmodl.LocalizableMessage: ... + + +class GatewayHostNotReachable(GatewayToHostConnectFault): ... + + +class GatewayNotFound(GatewayConnectFault): ... + + +class GatewayNotReachable(GatewayConnectFault): ... + + +class GatewayOperationRefused(GatewayConnectFault): ... + + +class GatewayToHostAuthFault(GatewayToHostConnectFault): + @property + def invalidProperties(self) -> List[str]: ... + @property + def missingProperties(self) -> List[str]: ... + + +class GatewayToHostConnectFault(GatewayConnectFault): + @property + def hostname(self) -> str: ... + @property + def port(self) -> int: ... + + +class GatewayToHostTrustVerifyFault(GatewayToHostConnectFault): + @property + def verificationToken(self) -> str: ... + @property + def propertiesToVerify(self) -> List[vim.KeyValue]: ... + + +class GenericDrsFault(VimFault): + @property + def hostFaults(self) -> List[vmodl.MethodFault]: ... + + +class GenericVmConfigFault(VmConfigFault): + @property + def reason(self) -> str: ... + + +class GuestAuthenticationChallenge(GuestOperationsFault): + @property + def serverChallenge(self) -> vim.vm.guest.GuestAuthentication: ... + @property + def sessionID(self) -> long: ... + + +class GuestComponentsOutOfDate(GuestOperationsFault): ... + + +class GuestMultipleMappings(GuestOperationsFault): ... + + +class GuestOperationsFault(VimFault): ... + + +class GuestOperationsUnavailable(GuestOperationsFault): ... + + +class GuestPermissionDenied(GuestOperationsFault): ... + + +class GuestProcessNotFound(GuestOperationsFault): + @property + def pid(self) -> long: ... + + +class GuestRegistryFault(GuestOperationsFault): + @property + def windowsSystemErrorCode(self) -> long: ... + + +class GuestRegistryKeyAlreadyExists(GuestRegistryKeyFault): ... + + +class GuestRegistryKeyFault(GuestRegistryFault): + @property + def keyName(self) -> str: ... + + +class GuestRegistryKeyHasSubkeys(GuestRegistryKeyFault): ... + + +class GuestRegistryKeyInvalid(GuestRegistryKeyFault): ... + + +class GuestRegistryKeyParentVolatile(GuestRegistryKeyFault): ... + + +class GuestRegistryValueFault(GuestRegistryFault): + @property + def keyName(self) -> str: ... + @property + def valueName(self) -> str: ... + + +class GuestRegistryValueNotFound(GuestRegistryValueFault): ... + + +class HAErrorsAtDest(MigrationFault): ... + + +class HeterogenousHostsBlockingEVC(EVCConfigFault): ... + + +class HostAccessRestrictedToManagementServer(NotSupported): + @property + def managementServer(self) -> str: ... + + +class HostConfigFailed(HostConfigFault): + @property + def failure(self) -> List[vmodl.MethodFault]: ... + + +class HostConfigFault(VimFault): ... + + +class HostConnectFault(VimFault): ... + + +class HostHasComponentFailure(VimFault): + @property + def hostName(self) -> str: ... + @property + def componentType(self) -> str: ... + @property + def componentName(self) -> str: ... + + + class HostComponentType(Enum): + Datastore = "datastore" + + +class HostInDomain(HostConfigFault): ... + + +class HostIncompatibleForFaultTolerance(VmFaultToleranceIssue): + @property + def hostName(self) -> str: ... + @property + def reason(self) -> str: ... + + +class HostIncompatibleForRecordReplay(VimFault): + @property + def hostName(self) -> str: ... + @property + def reason(self) -> str: ... + + +class HostInventoryFull(NotEnoughLicenses): + @property + def capacity(self) -> int: ... + + +class HostPowerOpFailed(VimFault): ... + + +class HostSpecificationOperationFailed(VimFault): + @property + def host(self) -> vim.HostSystem: ... + + +class HotSnapshotMoveNotSupported(SnapshotCopyNotSupported): ... + + +class HttpFault(VimFault): + @property + def statusCode(self) -> int: ... + @property + def statusMessage(self) -> str: ... + + +class IDEDiskNotSupported(DiskNotSupported): ... + + +class IORMNotSupportedHostOnDatastore(VimFault): + @property + def datastore(self) -> vim.Datastore: ... + @property + def datastoreName(self) -> str: ... + @property + def host(self) -> List[vim.HostSystem]: ... + + +class ImportHostAddFailure(DvsFault): + @property + def hostIp(self) -> List[str]: ... + + +class ImportOperationBulkFault(DvsFault): + @property + def importFaults(self) -> List[ImportOperationBulkFault.FaultOnImport]: ... + + + class FaultOnImport(vmodl.DynamicData): + @property + def entityType(self) -> str: ... + @property + def key(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class InUseFeatureManipulationDisallowed(NotEnoughLicenses): ... + + +class InaccessibleDatastore(InvalidDatastore): + @property + def detail(self) -> str: ... + + +class InaccessibleFTMetadataDatastore(InaccessibleDatastore): ... + + +class InaccessibleVFlashSource(VimFault): + @property + def hostName(self) -> str: ... + + +class IncompatibleDefaultDevice(MigrationFault): + @property + def device(self) -> str: ... + + +class IncompatibleHostForFtSecondary(VmFaultToleranceIssue): + @property + def host(self) -> vim.HostSystem: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class IncompatibleHostForVmReplication(ReplicationFault): + @property + def vmName(self) -> str: ... + @property + def hostName(self) -> str: ... + @property + def reason(self) -> str: ... + + + class IncompatibleReason(Enum): + rpo = "rpo" + netCompression = "netcompression" + + +class IncompatibleSetting(InvalidArgument): + @property + def conflictingProperty(self) -> PropertyPath: ... + + +class IncorrectFileType(FileFault): ... + + +class IncorrectHostInformation(NotEnoughLicenses): ... + + +class IndependentDiskVMotionNotSupported(MigrationFeatureNotSupported): ... + + +class InsufficientAgentVmsDeployed(InsufficientResourcesFault): + @property + def hostName(self) -> str: ... + @property + def requiredNumAgentVms(self) -> int: ... + @property + def currentNumAgentVms(self) -> int: ... + + +class InsufficientCpuResourcesFault(InsufficientResourcesFault): + @property + def unreserved(self) -> long: ... + @property + def requested(self) -> long: ... + + +class InsufficientDisks(VsanDiskFault): ... + + +class InsufficientFailoverResourcesFault(InsufficientResourcesFault): ... + + +class InsufficientGraphicsResourcesFault(InsufficientResourcesFault): ... + + +class InsufficientHostCapacityFault(InsufficientResourcesFault): + @property + def host(self) -> vim.HostSystem: ... + + +class InsufficientHostCpuCapacityFault(InsufficientHostCapacityFault): + @property + def unreserved(self) -> long: ... + @property + def requested(self) -> long: ... + + +class InsufficientHostMemoryCapacityFault(InsufficientHostCapacityFault): + @property + def unreserved(self) -> long: ... + @property + def requested(self) -> long: ... + + +class InsufficientMemoryResourcesFault(InsufficientResourcesFault): + @property + def unreserved(self) -> long: ... + @property + def requested(self) -> long: ... + + +class InsufficientNetworkCapacity(InsufficientResourcesFault): ... + + +class InsufficientNetworkResourcePoolCapacity(InsufficientResourcesFault): + @property + def dvsName(self) -> str: ... + @property + def dvsUuid(self) -> str: ... + @property + def resourcePoolKey(self) -> str: ... + @property + def available(self) -> long: ... + @property + def requested(self) -> long: ... + @property + def device(self) -> List[str]: ... + + +class InsufficientPerCpuCapacity(InsufficientHostCapacityFault): ... + + +class InsufficientResourcesFault(VimFault): ... + + +class InsufficientStandbyCpuResource(InsufficientStandbyResource): + @property + def available(self) -> long: ... + @property + def requested(self) -> long: ... + + +class InsufficientStandbyMemoryResource(InsufficientStandbyResource): + @property + def available(self) -> long: ... + @property + def requested(self) -> long: ... + + +class InsufficientStandbyResource(InsufficientResourcesFault): ... + + +class InsufficientStorageIops(VimFault): + @property + def unreservedIops(self) -> long: ... + @property + def requestedIops(self) -> long: ... + @property + def datastoreName(self) -> str: ... + + +class InsufficientStorageSpace(InsufficientResourcesFault): ... + + +class InsufficientVFlashResourcesFault(InsufficientResourcesFault): + @property + def freeSpaceInMB(self) -> long: ... + @property + def freeSpace(self) -> long: ... + @property + def requestedSpaceInMB(self) -> long: ... + @property + def requestedSpace(self) -> long: ... + + +class InvalidAffinitySettingFault(VimFault): ... + + +class InvalidBmcRole(VimFault): ... + + +class InvalidBundle(PlatformConfigFault): ... + + +class InvalidCAMCertificate(InvalidCAMServer): ... + + +class InvalidCAMServer(ActiveDirectoryFault): + @property + def camServer(self) -> str: ... + + +class InvalidClientCertificate(InvalidLogin): ... + + +class InvalidController(InvalidDeviceSpec): + @property + def controllerKey(self) -> int: ... + + +class InvalidDasConfigArgument(InvalidArgument): + @property + def entry(self) -> str: ... + @property + def clusterName(self) -> str: ... + + + class EntryForInvalidArgument(Enum): + admissionControl = "admissioncontrol" + userHeartbeatDs = "userheartbeatds" + vmConfig = "vmconfig" + + +class InvalidDasRestartPriorityForFtVm(InvalidArgument): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class InvalidDatastore(VimFault): + @property + def datastore(self) -> vim.Datastore: ... + @property + def name(self) -> str: ... + + +class InvalidDatastorePath(InvalidDatastore): + @property + def datastorePath(self) -> str: ... + + +class InvalidDatastoreState(InvalidState): + @property + def datastoreName(self) -> str: ... + + +class InvalidDeviceBacking(InvalidDeviceSpec): ... + + +class InvalidDeviceOperation(InvalidDeviceSpec): + @property + def badOp(self) -> vim.vm.device.VirtualDeviceSpec.Operation: ... + @property + def badFileOp(self) -> vim.vm.device.VirtualDeviceSpec.FileOperation: ... + + +class InvalidDeviceSpec(InvalidVmConfig): + @property + def deviceIndex(self) -> int: ... + + +class InvalidDiskFormat(InvalidFormat): ... + + +class InvalidDrsBehaviorForFtVm(InvalidArgument): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class InvalidEditionLicense(NotEnoughLicenses): + @property + def feature(self) -> str: ... + + +class InvalidEvent(VimFault): ... + + +class InvalidFolder(VimFault): + @property + def target(self) -> vim.ManagedEntity: ... + + +class InvalidFormat(VmConfigFault): ... + + +class InvalidGuestLogin(GuestOperationsFault): ... + + +class InvalidHostConnectionState(InvalidHostState): ... + + +class InvalidHostName(HostConfigFault): ... + + +class InvalidHostState(InvalidState): + @property + def host(self) -> vim.HostSystem: ... + + +class InvalidIndexArgument(InvalidArgument): + @property + def key(self) -> str: ... + + +class InvalidIpfixConfig(DvsFault): + @property + def property(self) -> PropertyPath: ... + + +class InvalidIpmiLoginInfo(VimFault): ... + + +class InvalidIpmiMacAddress(VimFault): + @property + def userProvidedMacAddress(self) -> str: ... + @property + def observedMacAddress(self) -> str: ... + + +class InvalidLicense(VimFault): + @property + def licenseContent(self) -> str: ... + + +class InvalidLocale(VimFault): ... + + +class InvalidLogin(VimFault): ... + + +class InvalidName(VimFault): + @property + def name(self) -> str: ... + @property + def entity(self) -> vim.ManagedEntity: ... + + +class InvalidNasCredentials(NasConfigFault): + @property + def userName(self) -> str: ... + + +class InvalidNetworkInType(VAppPropertyFault): ... + + +class InvalidNetworkResource(NasConfigFault): + @property + def remoteHost(self) -> str: ... + @property + def remotePath(self) -> str: ... + + +class InvalidOperationOnSecondaryVm(VmFaultToleranceIssue): + @property + def instanceUuid(self) -> str: ... + + +class InvalidPowerState(InvalidState): + @property + def requestedState(self) -> vim.VirtualMachine.PowerState: ... + @property + def existingState(self) -> vim.VirtualMachine.PowerState: ... + + +class InvalidPrivilege(VimFault): + @property + def privilege(self) -> str: ... + + +class InvalidProfileReferenceHost(vmodl.RuntimeFault): + @property + def reason(self) -> str: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def profile(self) -> vim.profile.Profile: ... + @property + def profileName(self) -> str: ... + + +class InvalidPropertyType(VAppPropertyFault): ... + + +class InvalidPropertyValue(VAppPropertyFault): ... + + +class InvalidResourcePoolStructureFault(InsufficientResourcesFault): ... + + +class InvalidSnapshotFormat(InvalidFormat): ... + + +class InvalidState(VimFault): ... + + +class InvalidVmConfig(VmConfigFault): + @property + def property(self) -> PropertyPath: ... + + +class InvalidVmState(InvalidState): + @property + def vm(self) -> vim.VirtualMachine: ... + + +class InventoryHasStandardAloneHosts(NotEnoughLicenses): + @property + def hosts(self) -> List[str]: ... + + +class IpHostnameGeneratorError(CustomizationFault): ... + + +class IscsiFault(VimFault): ... + + +class IscsiFaultInvalidVnic(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultPnicInUse(IscsiFault): + @property + def pnicDevice(self) -> str: ... + + +class IscsiFaultVnicAlreadyBound(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicHasActivePaths(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicHasMultipleUplinks(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicHasNoUplinks(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicHasWrongUplink(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicInUse(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicIsLastPath(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicNotBound(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class IscsiFaultVnicNotFound(IscsiFault): + @property + def vnicDevice(self) -> str: ... + + +class KeyNotFound(VimFault): + @property + def key(self) -> str: ... + + +class LargeRDMConversionNotSupported(MigrationFault): + @property + def device(self) -> str: ... + + +class LargeRDMNotSupportedOnDatastore(VmConfigFault): + @property + def device(self) -> str: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def datastoreName(self) -> str: ... + + +class LegacyNetworkInterfaceInUse(CannotAccessNetwork): ... + + +class LicenseAssignmentFailed(vmodl.RuntimeFault): + @property + def reason(self) -> str: ... + + +class LicenseDowngradeDisallowed(NotEnoughLicenses): + @property + def edition(self) -> str: ... + @property + def entityId(self) -> str: ... + @property + def features(self) -> List[vmodl.KeyAnyValue]: ... + + +class LicenseEntityNotFound(VimFault): + @property + def entityId(self) -> str: ... + + +class LicenseExpired(NotEnoughLicenses): + @property + def licenseKey(self) -> str: ... + + +class LicenseKeyEntityMismatch(NotEnoughLicenses): ... + + +class LicenseRestricted(NotEnoughLicenses): ... + + +class LicenseServerUnavailable(VimFault): + @property + def licenseServer(self) -> str: ... + + +class LicenseSourceUnavailable(NotEnoughLicenses): + @property + def licenseSource(self) -> vim.LicenseManager.LicenseSource: ... + + +class LimitExceeded(VimFault): + @property + def property(self) -> PropertyPath: ... + @property + def limit(self) -> int: ... + + +class LinuxVolumeNotClean(CustomizationFault): ... + + +class LogBundlingFailed(VimFault): ... + + +class MaintenanceModeFileMove(MigrationFault): ... + + +class MemoryFileFormatNotSupportedByDatastore(UnsupportedDatastore): + @property + def datastoreName(self) -> str: ... + @property + def type(self) -> str: ... + + +class MemoryHotPlugNotSupported(VmConfigFault): ... + + +class MemorySizeNotRecommended(VirtualHardwareCompatibilityIssue): + @property + def memorySizeMB(self) -> int: ... + @property + def minMemorySizeMB(self) -> int: ... + @property + def maxMemorySizeMB(self) -> int: ... + + +class MemorySizeNotSupported(VirtualHardwareCompatibilityIssue): + @property + def memorySizeMB(self) -> int: ... + @property + def minMemorySizeMB(self) -> int: ... + @property + def maxMemorySizeMB(self) -> int: ... + + +class MemorySizeNotSupportedByDatastore(VirtualHardwareCompatibilityIssue): + @property + def datastore(self) -> vim.Datastore: ... + @property + def memorySizeMB(self) -> int: ... + @property + def maxMemorySizeMB(self) -> int: ... + + +class MemorySnapshotOnIndependentDisk(SnapshotFault): ... + + +class MethodAlreadyDisabledFault(vmodl.RuntimeFault): + @property + def sourceId(self) -> str: ... + + +class MethodDisabled(vmodl.RuntimeFault): + @property + def source(self) -> str: ... + + +class MigrationDisabled(MigrationFault): ... + + +class MigrationFault(VimFault): ... + + +class MigrationFeatureNotSupported(MigrationFault): + @property + def atSourceHost(self) -> bool: ... + @property + def failedHostName(self) -> str: ... + @property + def failedHost(self) -> vim.HostSystem: ... + + +class MigrationNotReady(MigrationFault): + @property + def reason(self) -> str: ... + + +class MismatchedBundle(VimFault): + @property + def bundleUuid(self) -> str: ... + @property + def hostUuid(self) -> str: ... + @property + def bundleBuildNumber(self) -> int: ... + @property + def hostBuildNumber(self) -> int: ... + + +class MismatchedNetworkPolicies(MigrationFault): + @property + def device(self) -> str: ... + @property + def backing(self) -> str: ... + @property + def connected(self) -> bool: ... + + +class MismatchedVMotionNetworkNames(MigrationFault): + @property + def sourceNetwork(self) -> str: ... + @property + def destNetwork(self) -> str: ... + + +class MissingBmcSupport(VimFault): ... + + +class MissingController(InvalidDeviceSpec): ... + + +class MissingIpPool(VAppPropertyFault): ... + + +class MissingLinuxCustResources(CustomizationFault): ... + + +class MissingNetworkIpConfig(VAppPropertyFault): ... + + +class MissingPowerOffConfiguration(VAppConfigFault): ... + + +class MissingPowerOnConfiguration(VAppConfigFault): ... + + +class MissingWindowsCustResources(CustomizationFault): ... + + +class MksConnectionLimitReached(InvalidState): + @property + def connectionLimit(self) -> int: ... + + +class MountError(CustomizationFault): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def diskIndex(self) -> int: ... + + +class MultiWriterNotSupported(DeviceNotSupported): ... + + +class MultipleCertificatesVerifyFault(HostConnectFault): + @property + def thumbprintData(self) -> List[MultipleCertificatesVerifyFault.ThumbprintData]: ... + + + class ThumbprintData(vmodl.DynamicData): + @property + def port(self) -> int: ... + @property + def thumbprint(self) -> str: ... + + +class MultipleSnapshotsNotSupported(SnapshotFault): ... + + +class NamespaceFull(VimFault): + @property + def name(self) -> str: ... + @property + def currentMaxSize(self) -> long: ... + @property + def requiredSize(self) -> long: ... + + +class NamespaceLimitReached(VimFault): + @property + def limit(self) -> int: ... + + +class NamespaceWriteProtected(VimFault): + @property + def name(self) -> str: ... + + +class NasConfigFault(HostConfigFault): + @property + def name(self) -> str: ... + + +class NasConnectionLimitReached(NasConfigFault): + @property + def remoteHost(self) -> str: ... + @property + def remotePath(self) -> str: ... + + +class NasSessionCredentialConflict(NasConfigFault): + @property + def remoteHost(self) -> str: ... + @property + def remotePath(self) -> str: ... + @property + def userName(self) -> str: ... + + +class NasVolumeNotMounted(NasConfigFault): + @property + def remoteHost(self) -> str: ... + @property + def remotePath(self) -> str: ... + + +class NetworkCopyFault(FileFault): ... + + +class NetworkDisruptedAndConfigRolledBack(VimFault): + @property + def host(self) -> str: ... + + +class NetworkInaccessible(NasConfigFault): ... + + +class NetworksMayNotBeTheSame(MigrationFault): + @property + def name(self) -> str: ... + + +class NicSettingMismatch(CustomizationFault): + @property + def numberOfNicsInSpec(self) -> int: ... + @property + def numberOfNicsInVM(self) -> int: ... + + +class NoActiveHostInCluster(InvalidState): + @property + def computeResource(self) -> vim.ComputeResource: ... + + +class NoAvailableIp(VAppPropertyFault): + @property + def network(self) -> vim.Network: ... + + +class NoClientCertificate(VimFault): ... + + +class NoCompatibleDatastore(VimFault): ... + + +class NoCompatibleHardAffinityHost(VmConfigFault): + @property + def vmName(self) -> str: ... + + +class NoCompatibleHost(VimFault): + @property + def host(self) -> List[vim.HostSystem]: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... + + +class NoCompatibleHostWithAccessToDevice(NoCompatibleHost): ... + + +class NoCompatibleSoftAffinityHost(VmConfigFault): + @property + def vmName(self) -> str: ... + + +class NoConnectedDatastore(VimFault): ... + + +class NoDiskFound(VimFault): ... + + +class NoDiskSpace(FileFault): + @property + def datastore(self) -> str: ... + + +class NoDisksToCustomize(CustomizationFault): ... + + +class NoGateway(HostConfigFault): ... + + +class NoGuestHeartbeat(MigrationFault): ... + + +class NoHost(HostConnectFault): + @property + def name(self) -> str: ... + + +class NoHostSuitableForFtSecondary(VmFaultToleranceIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + + +class NoLicenseServerConfigured(NotEnoughLicenses): ... + + +class NoPeerHostFound(HostPowerOpFailed): ... + + +class NoPermission(SecurityError): + @property + def object(self) -> ManagedObject: ... + @property + def privilegeId(self) -> str: ... + @property + def missingPrivileges(self) -> List[NoPermission.EntityPrivileges]: ... + + + class EntityPrivileges(vmodl.DynamicData): + @property + def entity(self) -> ManagedObject: ... + @property + def privilegeIds(self) -> List[str]: ... + + +class NoPermissionOnAD(ActiveDirectoryFault): ... + + +class NoPermissionOnHost(HostConnectFault): ... + + +class NoPermissionOnNasVolume(NasConfigFault): + @property + def userName(self) -> str: ... + + +class NoSubjectName(VimFault): ... + + +class NoVcManagedIpConfigured(VAppPropertyFault): ... + + +class NoVirtualNic(HostConfigFault): ... + + +class NoVmInVApp(VAppConfigFault): ... + + +class NonADUserRequired(ActiveDirectoryFault): ... + + +class NonHomeRDMVMotionNotSupported(MigrationFeatureNotSupported): + @property + def device(self) -> str: ... + + +class NonPersistentDisksNotSupported(DeviceNotSupported): ... + + +class NonVmwareOuiMacNotSupportedHost(NotSupportedHost): + @property + def hostName(self) -> str: ... + + +class NotADirectory(FileFault): ... + + +class NotAFile(FileFault): ... + + +class NotAuthenticated(NoPermission): ... + + +class NotEnoughCpus(VirtualHardwareCompatibilityIssue): + @property + def numCpuDest(self) -> int: ... + @property + def numCpuVm(self) -> int: ... + + +class NotEnoughLogicalCpus(NotEnoughCpus): + @property + def host(self) -> vim.HostSystem: ... + + +class NotFound(VimFault): ... + + +class NotSupportedDeviceForFT(VmFaultToleranceIssue): + @property + def host(self) -> vim.HostSystem: ... + @property + def hostName(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + @property + def deviceType(self) -> str: ... + @property + def deviceLabel(self) -> str: ... + + + class DeviceType(Enum): + virtualVmxnet3 = "virtualvmxnet3" + paraVirtualSCSIController = "paravirtualscsicontroller" + + +class NotSupportedHost(HostConnectFault): + @property + def productName(self) -> str: ... + @property + def productVersion(self) -> str: ... + + +class NotSupportedHostForChecksum(VimFault): ... + + +class NotSupportedHostForVFlash(NotSupportedHost): + @property + def hostName(self) -> str: ... + + +class NotSupportedHostForVmcp(NotSupportedHost): + @property + def hostName(self) -> str: ... + + +class NotSupportedHostForVmemFile(NotSupportedHost): + @property + def hostName(self) -> str: ... + + +class NotSupportedHostForVsan(NotSupportedHost): + @property + def hostName(self) -> str: ... + + +class NotSupportedHostInCluster(NotSupportedHost): ... + + +class NotSupportedHostInDvs(NotSupportedHost): + @property + def switchProductSpec(self) -> vim.dvs.ProductSpec: ... + + +class NotSupportedHostInHACluster(NotSupportedHost): + @property + def hostName(self) -> str: ... + @property + def build(self) -> str: ... + + +class NotUserConfigurableProperty(VAppPropertyFault): ... + + +class NumVirtualCoresPerSocketNotSupported(VirtualHardwareCompatibilityIssue): + @property + def maxSupportedCoresPerSocketDest(self) -> int: ... + @property + def numCoresPerSocketVm(self) -> int: ... + + +class NumVirtualCpusExceedsLimit(InsufficientResourcesFault): + @property + def maxSupportedVcpus(self) -> int: ... + + +class NumVirtualCpusIncompatible(VmConfigFault): + @property + def reason(self) -> str: ... + @property + def numCpu(self) -> int: ... + + +class NumVirtualCpusNotSupported(VirtualHardwareCompatibilityIssue): + @property + def maxSupportedVcpusDest(self) -> int: ... + @property + def numCpuVm(self) -> int: ... + + +class OperationDisabledByGuest(GuestOperationsFault): ... + + +class OperationDisallowedOnHost(vmodl.RuntimeFault): ... + + +class OperationNotSupportedByGuest(GuestOperationsFault): ... + + +class OutOfBounds(VimFault): + @property + def argumentName(self) -> PropertyPath: ... + + +class OvfAttribute(OvfInvalidPackage): + @property + def elementName(self) -> str: ... + @property + def attributeName(self) -> str: ... + + +class OvfConnectedDevice(OvfHardwareExport): ... + + +class OvfConnectedDeviceFloppy(OvfConnectedDevice): + @property + def filename(self) -> str: ... + + +class OvfConnectedDeviceIso(OvfConnectedDevice): + @property + def filename(self) -> str: ... + + +class OvfConstraint(OvfInvalidPackage): + @property + def name(self) -> str: ... + + +class OvfConsumerCallbackFault(OvfFault): + @property + def extensionKey(self) -> str: ... + @property + def extensionName(self) -> str: ... + + +class OvfConsumerCommunicationError(OvfConsumerCallbackFault): + @property + def description(self) -> str: ... + + +class OvfConsumerFault(OvfConsumerCallbackFault): + @property + def errorKey(self) -> str: ... + @property + def message(self) -> str: ... + @property + def params(self) -> List[vim.KeyValue]: ... + + +class OvfConsumerInvalidSection(OvfConsumerCallbackFault): + @property + def lineNumber(self) -> int: ... + @property + def description(self) -> str: ... + + +class OvfConsumerPowerOnFault(InvalidState): + @property + def extensionKey(self) -> str: ... + @property + def extensionName(self) -> str: ... + @property + def description(self) -> str: ... + + +class OvfConsumerUndeclaredSection(OvfConsumerCallbackFault): + @property + def qualifiedSectionType(self) -> str: ... + + +class OvfConsumerUndefinedPrefix(OvfConsumerCallbackFault): + @property + def prefix(self) -> str: ... + + +class OvfConsumerValidationFault(VmConfigFault): + @property + def extensionKey(self) -> str: ... + @property + def extensionName(self) -> str: ... + @property + def message(self) -> str: ... + + +class OvfCpuCompatibility(OvfImport): + @property + def registerName(self) -> str: ... + @property + def level(self) -> int: ... + @property + def registerValue(self) -> str: ... + @property + def desiredRegisterValue(self) -> str: ... + + +class OvfCpuCompatibilityCheckNotSupported(OvfImport): ... + + +class OvfDiskMappingNotFound(OvfSystemFault): + @property + def diskName(self) -> str: ... + @property + def vmName(self) -> str: ... + + +class OvfDiskOrderConstraint(OvfConstraint): ... + + +class OvfDuplicateElement(OvfElement): ... + + +class OvfDuplicatedElementBoundary(OvfElement): + @property + def boundary(self) -> str: ... + + +class OvfDuplicatedPropertyIdExport(OvfExport): + @property + def fqid(self) -> str: ... + + +class OvfDuplicatedPropertyIdImport(OvfExport): ... + + +class OvfElement(OvfInvalidPackage): + @property + def name(self) -> str: ... + + +class OvfElementInvalidValue(OvfElement): + @property + def value(self) -> str: ... + + +class OvfExport(OvfFault): ... + + +class OvfExportFailed(OvfExport): ... + + +class OvfFault(VimFault): ... + + +class OvfHardwareCheck(OvfImport): ... + + +class OvfHardwareExport(OvfExport): + @property + def device(self) -> vim.vm.device.VirtualDevice: ... + @property + def vmPath(self) -> str: ... + + +class OvfHostResourceConstraint(OvfConstraint): + @property + def value(self) -> str: ... + + +class OvfHostValueNotParsed(OvfSystemFault): + @property + def property(self) -> str: ... + @property + def value(self) -> str: ... + + +class OvfImport(OvfFault): ... + + +class OvfImportFailed(OvfImport): ... + + +class OvfInternalError(OvfSystemFault): ... + + +class OvfInvalidPackage(OvfFault): + @property + def lineNumber(self) -> int: ... + + +class OvfInvalidValue(OvfAttribute): + @property + def value(self) -> str: ... + + +class OvfInvalidValueConfiguration(OvfInvalidValue): ... + + +class OvfInvalidValueEmpty(OvfInvalidValue): ... + + +class OvfInvalidValueFormatMalformed(OvfInvalidValue): ... + + +class OvfInvalidValueReference(OvfInvalidValue): ... + + +class OvfInvalidVmName(OvfUnsupportedPackage): + @property + def name(self) -> str: ... + + +class OvfMappedOsId(OvfImport): + @property + def ovfId(self) -> int: ... + @property + def ovfDescription(self) -> str: ... + @property + def targetDescription(self) -> str: ... + + +class OvfMissingAttribute(OvfAttribute): ... + + +class OvfMissingElement(OvfElement): ... + + +class OvfMissingElementNormalBoundary(OvfMissingElement): + @property + def boundary(self) -> str: ... + + +class OvfMissingHardware(OvfImport): + @property + def name(self) -> str: ... + @property + def resourceType(self) -> int: ... + + +class OvfNetworkMappingNotSupported(OvfImport): ... + + +class OvfNoHostNic(OvfUnsupportedPackage): ... + + +class OvfNoSpaceOnController(OvfUnsupportedElement): + @property + def parent(self) -> str: ... + + +class OvfNoSupportedHardwareFamily(OvfUnsupportedPackage): + @property + def version(self) -> str: ... + + +class OvfProperty(OvfInvalidPackage): + @property + def type(self) -> str: ... + @property + def value(self) -> str: ... + + +class OvfPropertyExport(OvfExport): + @property + def type(self) -> str: ... + @property + def value(self) -> str: ... + + +class OvfPropertyNetwork(OvfProperty): ... + + +class OvfPropertyNetworkExport(OvfExport): + @property + def network(self) -> str: ... + + +class OvfPropertyQualifier(OvfProperty): + @property + def qualifier(self) -> str: ... + + +class OvfPropertyQualifierDuplicate(OvfProperty): + @property + def qualifier(self) -> str: ... + + +class OvfPropertyQualifierIgnored(OvfProperty): + @property + def qualifier(self) -> str: ... + + +class OvfPropertyType(OvfProperty): ... + + +class OvfPropertyValue(OvfProperty): ... + + +class OvfSystemFault(OvfFault): ... + + +class OvfToXmlUnsupportedElement(OvfSystemFault): + @property + def name(self) -> str: ... + + +class OvfUnableToExportDisk(OvfHardwareExport): + @property + def diskName(self) -> str: ... + + +class OvfUnexpectedElement(OvfElement): ... + + +class OvfUnknownDevice(OvfSystemFault): + @property + def device(self) -> vim.vm.device.VirtualDevice: ... + @property + def vmName(self) -> str: ... + + +class OvfUnknownDeviceBacking(OvfHardwareExport): + @property + def backing(self) -> vim.vm.device.VirtualDevice.BackingInfo: ... + + +class OvfUnknownEntity(OvfSystemFault): + @property + def lineNumber(self) -> int: ... + + +class OvfUnsupportedAttribute(OvfUnsupportedPackage): + @property + def elementName(self) -> str: ... + @property + def attributeName(self) -> str: ... + + +class OvfUnsupportedAttributeValue(OvfUnsupportedAttribute): + @property + def value(self) -> str: ... + + +class OvfUnsupportedDeviceBackingInfo(OvfSystemFault): + @property + def elementName(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def deviceName(self) -> str: ... + @property + def backingName(self) -> str: ... + + +class OvfUnsupportedDeviceBackingOption(OvfSystemFault): + @property + def elementName(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def deviceName(self) -> str: ... + @property + def backingName(self) -> str: ... + + +class OvfUnsupportedDeviceExport(OvfHardwareExport): ... + + +class OvfUnsupportedDiskProvisioning(OvfImport): + @property + def diskProvisioning(self) -> str: ... + @property + def supportedDiskProvisioning(self) -> str: ... + + +class OvfUnsupportedElement(OvfUnsupportedPackage): + @property + def name(self) -> str: ... + + +class OvfUnsupportedElementValue(OvfUnsupportedElement): + @property + def value(self) -> str: ... + + +class OvfUnsupportedPackage(OvfFault): + @property + def lineNumber(self) -> int: ... + + +class OvfUnsupportedSection(OvfUnsupportedElement): + @property + def info(self) -> str: ... + + +class OvfUnsupportedSubType(OvfUnsupportedPackage): + @property + def elementName(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def deviceType(self) -> int: ... + @property + def deviceSubType(self) -> str: ... + + +class OvfUnsupportedType(OvfUnsupportedPackage): + @property + def name(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def deviceType(self) -> int: ... + + +class OvfWrongElement(OvfElement): ... + + +class OvfWrongNamespace(OvfInvalidPackage): + @property + def namespaceName(self) -> str: ... + + +class OvfXmlFormat(OvfInvalidPackage): + @property + def description(self) -> str: ... + + +class PasswordExpired(InvalidLogin): ... + + +class PatchAlreadyInstalled(PatchNotApplicable): ... + + +class PatchBinariesNotFound(VimFault): + @property + def patchID(self) -> str: ... + @property + def binary(self) -> List[str]: ... + + +class PatchInstallFailed(PlatformConfigFault): + @property + def rolledBack(self) -> bool: ... + + +class PatchIntegrityError(PlatformConfigFault): ... + + +class PatchMetadataCorrupted(PatchMetadataInvalid): ... + + +class PatchMetadataInvalid(VimFault): + @property + def patchID(self) -> str: ... + @property + def metaData(self) -> List[str]: ... + + +class PatchMetadataNotFound(PatchMetadataInvalid): ... + + +class PatchMissingDependencies(PatchNotApplicable): + @property + def prerequisitePatch(self) -> List[str]: ... + @property + def prerequisiteLib(self) -> List[str]: ... + + +class PatchNotApplicable(VimFault): + @property + def patchID(self) -> str: ... + + +class PatchSuperseded(PatchNotApplicable): + @property + def supersede(self) -> List[str]: ... + + +class PhysCompatRDMNotSupported(RDMNotSupported): ... + + +class PlatformConfigFault(HostConfigFault): + @property + def text(self) -> str: ... + + +class PowerOnFtSecondaryFailed(VmFaultToleranceIssue): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + @property + def hostSelectionBy(self) -> FtIssuesOnHost.HostSelectionType: ... + @property + def hostErrors(self) -> List[vmodl.MethodFault]: ... + @property + def rootCause(self) -> vmodl.MethodFault: ... + + +class PowerOnFtSecondaryTimedout(Timedout): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vmName(self) -> str: ... + @property + def timeout(self) -> int: ... + + +class ProfileUpdateFailed(VimFault): + @property + def failure(self) -> List[ProfileUpdateFailed.UpdateFailure]: ... + @property + def warnings(self) -> List[ProfileUpdateFailed.UpdateFailure]: ... + + +class QuarantineModeFault(VmConfigFault): + @property + def vmName(self) -> str: ... + @property + def faultType(self) -> str: ... + + + class FaultType(Enum): + NoCompatibleNonQuarantinedHost = "nocompatiblenonquarantinedhost" + CorrectionDisallowed = "correctiondisallowed" + CorrectionImpact = "correctionimpact" + + +class QuestionPending(InvalidState): + @property + def text(self) -> str: ... + + +class QuiesceDatastoreIOForHAFailed(ResourceInUse): + @property + def host(self) -> vim.HostSystem: ... + @property + def hostName(self) -> str: ... + @property + def ds(self) -> vim.Datastore: ... + @property + def dsName(self) -> str: ... + + +class RDMConversionNotSupported(MigrationFault): + @property + def device(self) -> str: ... + + +class RDMNotPreserved(MigrationFault): + @property + def device(self) -> str: ... + + +class RDMNotSupported(DeviceNotSupported): ... + + +class RDMNotSupportedOnDatastore(VmConfigFault): + @property + def device(self) -> str: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def datastoreName(self) -> str: ... + + +class RDMPointsToInaccessibleDisk(CannotAccessVmDisk): ... + + +class RawDiskNotSupported(DeviceNotSupported): ... + + +class ReadHostResourcePoolTreeFailed(HostConnectFault): ... + + +class ReadOnlyDisksWithLegacyDestination(MigrationFault): + @property + def roDiskCount(self) -> int: ... + @property + def timeoutDanger(self) -> bool: ... + + +class RebootRequired(VimFault): + @property + def patch(self) -> str: ... + + +class RecordReplayDisabled(VimFault): ... + + +class RemoteDeviceNotSupported(DeviceNotSupported): ... + + +class RemoveFailed(VimFault): ... + + +class ReplicationConfigFault(ReplicationFault): ... + + +class ReplicationDiskConfigFault(ReplicationConfigFault): + @property + def reason(self) -> str: ... + @property + def vmRef(self) -> vim.VirtualMachine: ... + @property + def key(self) -> int: ... + + + class ReasonForFault(Enum): + diskNotFound = "disknotfound" + diskTypeNotSupported = "disktypenotsupported" + invalidDiskKey = "invaliddiskkey" + invalidDiskReplicationId = "invaliddiskreplicationid" + duplicateDiskReplicationId = "duplicatediskreplicationid" + invalidPersistentFilePath = "invalidpersistentfilepath" + reconfigureDiskReplicationIdNotAllowed = "reconfigurediskreplicationidnotallowed" + + +class ReplicationFault(VimFault): ... + + +class ReplicationIncompatibleWithFT(ReplicationFault): ... + + +class ReplicationInvalidOptions(ReplicationFault): + @property + def options(self) -> str: ... + @property + def entity(self) -> vim.ManagedEntity: ... + + +class ReplicationNotSupportedOnHost(ReplicationFault): ... + + +class ReplicationVmConfigFault(ReplicationConfigFault): + @property + def reason(self) -> str: ... + @property + def vmRef(self) -> vim.VirtualMachine: ... + + +class ReplicationVmFault(ReplicationFault): + @property + def reason(self) -> str: ... + @property + def state(self) -> str: ... + @property + def instanceId(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + + +class ReplicationVmInProgressFault(ReplicationVmFault): + @property + def requestedActivity(self) -> str: ... + @property + def inProgressActivity(self) -> str: ... + + + class Activity(Enum): + fullSync = "fullsync" + delta = "delta" + + +class ResourceInUse(VimFault): + @property + def type(self) -> type: ... + @property + def name(self) -> str: ... + + +class ResourceNotAvailable(VimFault): + @property + def containerType(self) -> type: ... + @property + def containerName(self) -> str: ... + @property + def type(self) -> type: ... + + +class RestrictedByAdministrator(vmodl.RuntimeFault): + @property + def details(self) -> str: ... + + +class RestrictedVersion(SecurityError): ... + + +class RollbackFailure(DvsFault): + @property + def entityName(self) -> str: ... + @property + def entityType(self) -> str: ... + + +class RuleViolation(VmConfigFault): + @property + def host(self) -> vim.HostSystem: ... + @property + def rule(self) -> vim.cluster.RuleInfo: ... + + +class SSLDisabledFault(HostConnectFault): ... + + +class SSLVerifyFault(HostConnectFault): + @property + def selfSigned(self) -> bool: ... + @property + def thumbprint(self) -> str: ... + + +class SSPIChallenge(VimFault): + @property + def base64Token(self) -> str: ... + + +class SecondaryVmAlreadyDisabled(VmFaultToleranceIssue): + @property + def instanceUuid(self) -> str: ... + + +class SecondaryVmAlreadyEnabled(VmFaultToleranceIssue): + @property + def instanceUuid(self) -> str: ... + + +class SecondaryVmAlreadyRegistered(VmFaultToleranceIssue): + @property + def instanceUuid(self) -> str: ... + + +class SecondaryVmNotRegistered(VmFaultToleranceIssue): + @property + def instanceUuid(self) -> str: ... + + +class SharedBusControllerNotSupported(DeviceNotSupported): ... + + +class ShrinkDiskFault(VimFault): + @property + def diskId(self) -> int: ... + + +class SnapshotCloneNotSupported(SnapshotCopyNotSupported): ... + + +class SnapshotCopyNotSupported(MigrationFault): ... + + +class SnapshotDisabled(SnapshotFault): ... + + +class SnapshotFault(VimFault): ... + + +class SnapshotIncompatibleDeviceInVm(SnapshotFault): + @property + def fault(self) -> vmodl.MethodFault: ... + + +class SnapshotLocked(SnapshotFault): ... + + +class SnapshotMoveFromNonHomeNotSupported(SnapshotCopyNotSupported): ... + + +class SnapshotMoveNotSupported(SnapshotCopyNotSupported): ... + + +class SnapshotMoveToNonHomeNotSupported(SnapshotCopyNotSupported): ... + + +class SnapshotNoChange(SnapshotFault): ... + + +class SnapshotRevertIssue(MigrationFault): + @property + def snapshotName(self) -> str: ... + @property + def event(self) -> List[vim.event.Event]: ... + @property + def errors(self) -> bool: ... + + +class SoftRuleVioCorrectionDisallowed(VmConfigFault): + @property + def vmName(self) -> str: ... + + +class SoftRuleVioCorrectionImpact(VmConfigFault): + @property + def vmName(self) -> str: ... + + +class SolutionUserRequired(SecurityError): ... + + +class SsdDiskNotAvailable(VimFault): + @property + def devicePath(self) -> str: ... + + +class StorageDrsCannotMoveDiskInMultiWriterMode(VimFault): ... + + +class StorageDrsCannotMoveFTVm(VimFault): ... + + +class StorageDrsCannotMoveIndependentDisk(VimFault): ... + + +class StorageDrsCannotMoveManuallyPlacedSwapFile(VimFault): ... + + +class StorageDrsCannotMoveManuallyPlacedVm(VimFault): ... + + +class StorageDrsCannotMoveSharedDisk(VimFault): ... + + +class StorageDrsCannotMoveTemplate(VimFault): ... + + +class StorageDrsCannotMoveVmInUserFolder(VimFault): ... + + +class StorageDrsCannotMoveVmWithMountedCDROM(VimFault): ... + + +class StorageDrsCannotMoveVmWithNoFilesInLayout(VimFault): ... + + +class StorageDrsDatacentersCannotShareDatastore(VimFault): ... + + +class StorageDrsDisabledOnVm(VimFault): ... + + +class StorageDrsHbrDiskNotMovable(VimFault): + @property + def nonMovableDiskIds(self) -> str: ... + + +class StorageDrsHmsMoveInProgress(VimFault): ... + + +class StorageDrsHmsUnreachable(VimFault): ... + + +class StorageDrsIolbDisabledInternally(VimFault): ... + + +class StorageDrsRelocateDisabled(VimFault): ... + + +class StorageDrsStaleHmsCollection(VimFault): ... + + +class StorageDrsUnableToMoveFiles(VimFault): ... + + +class StorageVMotionNotSupported(MigrationFeatureNotSupported): ... + + +class StorageVmotionIncompatible(VirtualHardwareCompatibilityIssue): + @property + def datastore(self) -> vim.Datastore: ... + + +class SuspendedRelocateNotSupported(MigrationFault): ... + + +class SwapDatastoreNotWritableOnHost(DatastoreNotWritableOnHost): ... + + +class SwapDatastoreUnset(VimFault): ... + + +class SwapPlacementOverrideNotSupported(InvalidVmConfig): ... + + +class SwitchIpUnset(DvsFault): ... + + +class SwitchNotInUpgradeMode(DvsFault): ... + + +class TaskInProgress(VimFault): + @property + def task(self) -> vim.Task: ... + + +class ThirdPartyLicenseAssignmentFailed(vmodl.RuntimeFault): + @property + def host(self) -> vim.HostSystem: ... + @property + def module(self) -> str: ... + @property + def reason(self) -> str: ... + + +class Timedout(VimFault): ... + + +class TooManyConcurrentNativeClones(FileFault): ... + + +class TooManyConsecutiveOverrides(VimFault): ... + + +class TooManyDevices(InvalidVmConfig): ... + + +class TooManyDisksOnLegacyHost(MigrationFault): + @property + def diskCount(self) -> int: ... + @property + def timeoutDanger(self) -> bool: ... + + +class TooManyGuestLogons(GuestOperationsFault): ... + + +class TooManyHosts(HostConnectFault): ... + + +class TooManyNativeCloneLevels(FileFault): ... + + +class TooManyNativeClonesOnFile(FileFault): ... + + +class TooManySnapshotLevels(SnapshotFault): ... + + +class ToolsAlreadyUpgraded(VmToolsUpgradeFault): ... + + +class ToolsAutoUpgradeNotSupported(VmToolsUpgradeFault): ... + + +class ToolsImageCopyFailed(VmToolsUpgradeFault): ... + + +class ToolsImageNotAvailable(VmToolsUpgradeFault): ... + + +class ToolsImageSignatureCheckFailed(VmToolsUpgradeFault): ... + + +class ToolsInstallationInProgress(MigrationFault): ... + + +class ToolsUnavailable(VimFault): ... + + +class ToolsUpgradeCancelled(VmToolsUpgradeFault): ... + + +class UnSupportedDatastoreForVFlash(UnsupportedDatastore): + @property + def datastoreName(self) -> str: ... + @property + def type(self) -> str: ... + + +class UncommittedUndoableDisk(MigrationFault): ... + + +class UnconfiguredPropertyValue(InvalidPropertyValue): ... + + +class UncustomizableGuest(CustomizationFault): + @property + def uncustomizableGuestOS(self) -> str: ... + + +class UnexpectedCustomizationFault(CustomizationFault): ... + + +class UnrecognizedHost(VimFault): + @property + def hostName(self) -> str: ... + + +class UnsharedSwapVMotionNotSupported(MigrationFeatureNotSupported): ... + + +class UnsupportedDatastore(VmConfigFault): + @property + def datastore(self) -> vim.Datastore: ... + + +class UnsupportedGuest(InvalidVmConfig): + @property + def unsupportedGuestOS(self) -> str: ... + + +class UnsupportedVimApiVersion(VimFault): + @property + def version(self) -> str: ... + + +class UnsupportedVmxLocation(VmConfigFault): ... + + +class UnusedVirtualDiskBlocksNotScrubbed(DeviceBackingNotSupported): ... + + +class UserNotFound(VimFault): + @property + def principal(self) -> str: ... + @property + def unresolved(self) -> bool: ... + + +class VAppConfigFault(VimFault): ... + + +class VAppNotRunning(VmConfigFault): ... + + +class VAppOperationInProgress(vmodl.RuntimeFault): ... + + +class VAppPropertyFault(VmConfigFault): + @property + def id(self) -> str: ... + @property + def category(self) -> str: ... + @property + def label(self) -> str: ... + @property + def type(self) -> str: ... + @property + def value(self) -> str: ... + + +class VAppTaskInProgress(TaskInProgress): ... + + +class VFlashCacheHotConfigNotSupported(VmConfigFault): ... + + +class VFlashModuleNotSupported(VmConfigFault): + @property + def vmName(self) -> str: ... + @property + def moduleName(self) -> str: ... + @property + def reason(self) -> str: ... + @property + def hostName(self) -> str: ... + + +class VFlashModuleVersionIncompatible(VimFault): + @property + def moduleName(self) -> str: ... + @property + def vmRequestModuleVersion(self) -> str: ... + @property + def hostMinSupportedVerson(self) -> str: ... + @property + def hostModuleVersion(self) -> str: ... + + +class VMINotSupported(DeviceNotSupported): ... + + +class VMOnConflictDVPort(CannotAccessNetwork): ... + + +class VMOnVirtualIntranet(CannotAccessNetwork): ... + + +class VMotionAcrossNetworkNotSupported(MigrationFeatureNotSupported): ... + + +class VMotionInterfaceIssue(MigrationFault): + @property + def atSourceHost(self) -> bool: ... + @property + def failedHost(self) -> str: ... + @property + def failedHostEntity(self) -> vim.HostSystem: ... + + +class VMotionLinkCapacityLow(VMotionInterfaceIssue): + @property + def network(self) -> str: ... + + +class VMotionLinkDown(VMotionInterfaceIssue): + @property + def network(self) -> str: ... + + +class VMotionNotConfigured(VMotionInterfaceIssue): ... + + +class VMotionNotLicensed(VMotionInterfaceIssue): ... + + +class VMotionNotSupported(VMotionInterfaceIssue): ... + + +class VMotionProtocolIncompatible(MigrationFault): ... + + +class VimFault(vmodl.MethodFault): ... + + +class VirtualDiskBlocksNotFullyProvisioned(DeviceBackingNotSupported): ... + + +class VirtualDiskModeNotSupported(DeviceNotSupported): + @property + def mode(self) -> str: ... + + +class VirtualEthernetCardNotSupported(DeviceNotSupported): ... + + +class VirtualHardwareCompatibilityIssue(VmConfigFault): ... + + +class VirtualHardwareVersionNotSupported(VirtualHardwareCompatibilityIssue): + @property + def hostName(self) -> str: ... + @property + def host(self) -> vim.HostSystem: ... + + +class VmAlreadyExistsInDatacenter(InvalidFolder): + @property + def host(self) -> vim.HostSystem: ... + @property + def hostname(self) -> str: ... + @property + def vm(self) -> List[vim.VirtualMachine]: ... + + +class VmConfigFault(VimFault): ... + + +class VmConfigIncompatibleForFaultTolerance(VmConfigFault): + @property + def fault(self) -> vmodl.MethodFault: ... + + +class VmConfigIncompatibleForRecordReplay(VmConfigFault): + @property + def fault(self) -> vmodl.MethodFault: ... + + +class VmFaultToleranceConfigIssue(VmFaultToleranceIssue): + @property + def reason(self) -> str: ... + @property + def entityName(self) -> str: ... + @property + def entity(self) -> vim.ManagedEntity: ... + + + class ReasonForIssue(Enum): + haNotEnabled = "hanotenabled" + moreThanOneSecondary = "morethanonesecondary" + recordReplayNotSupported = "recordreplaynotsupported" + replayNotSupported = "replaynotsupported" + templateVm = "templatevm" + multipleVCPU = "multiplevcpu" + hostInactive = "hostinactive" + ftUnsupportedHardware = "ftunsupportedhardware" + ftUnsupportedProduct = "ftunsupportedproduct" + missingVMotionNic = "missingvmotionnic" + missingFTLoggingNic = "missingftloggingnic" + thinDisk = "thindisk" + verifySSLCertificateFlagNotSet = "verifysslcertificateflagnotset" + hasSnapshots = "hassnapshots" + noConfig = "noconfig" + ftSecondaryVm = "ftsecondaryvm" + hasLocalDisk = "haslocaldisk" + esxAgentVm = "esxagentvm" + video3dEnabled = "video3denabled" + hasUnsupportedDisk = "hasunsupporteddisk" + insufficientBandwidth = "insufficientbandwidth" + hasNestedHVConfiguration = "hasnestedhvconfiguration" + hasVFlashConfiguration = "hasvflashconfiguration" + unsupportedProduct = "unsupportedproduct" + cpuHvUnsupported = "cpuhvunsupported" + cpuHwmmuUnsupported = "cpuhwmmuunsupported" + cpuHvDisabled = "cpuhvdisabled" + hasEFIFirmware = "hasefifirmware" + tooManyVCPUs = "toomanyvcpus" + tooMuchMemory = "toomuchmemory" + vMotionNotLicensed = "vmotionnotlicensed" + ftNotLicensed = "ftnotlicensed" + haAgentIssue = "haagentissue" + unsupportedSPBM = "unsupportedspbm" + hasLinkedCloneDisk = "haslinkedclonedisk" + unsupportedPMemHAFailOver = "unsupportedpmemhafailover" + unsupportedEncryptedDisk = "unsupportedencrypteddisk" + + +class VmFaultToleranceConfigIssueWrapper(VmFaultToleranceIssue): + @property + def entityName(self) -> str: ... + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def error(self) -> vmodl.MethodFault: ... + + +class VmFaultToleranceInvalidFileBacking(VmFaultToleranceIssue): + @property + def backingType(self) -> str: ... + @property + def backingFilename(self) -> str: ... + + +class VmFaultToleranceIssue(VimFault): ... + + +class VmFaultToleranceOpIssuesList(VmFaultToleranceIssue): + @property + def errors(self) -> List[vmodl.MethodFault]: ... + @property + def warnings(self) -> List[vmodl.MethodFault]: ... + + +class VmFaultToleranceTooManyFtVcpusOnHost(InsufficientResourcesFault): + @property + def hostName(self) -> str: ... + @property + def maxNumFtVcpus(self) -> int: ... + + +class VmFaultToleranceTooManyVMsOnHost(InsufficientResourcesFault): + @property + def hostName(self) -> str: ... + @property + def maxNumFtVms(self) -> int: ... + + +class VmHostAffinityRuleViolation(VmConfigFault): + @property + def vmName(self) -> str: ... + @property + def hostName(self) -> str: ... + + +class VmLimitLicense(NotEnoughLicenses): + @property + def limit(self) -> int: ... + + +class VmMetadataManagerFault(VimFault): ... + + +class VmMonitorIncompatibleForFaultTolerance(VimFault): ... + + +class VmPowerOnDisabled(InvalidState): ... + + +class VmSmpFaultToleranceTooManyVMsOnHost(InsufficientResourcesFault): + @property + def hostName(self) -> str: ... + @property + def maxNumSmpFtVms(self) -> int: ... + + +class VmToolsUpgradeFault(VimFault): ... + + +class VmValidateMaxDevice(VimFault): + @property + def device(self) -> str: ... + @property + def max(self) -> int: ... + @property + def count(self) -> int: ... + + +class VmWwnConflict(InvalidVmConfig): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def name(self) -> str: ... + @property + def wwn(self) -> long: ... + + +class VmfsAlreadyMounted(VmfsMountFault): ... + + +class VmfsAmbiguousMount(VmfsMountFault): ... + + +class VmfsMountFault(HostConfigFault): + @property + def uuid(self) -> str: ... + + +class VmotionInterfaceNotEnabled(HostPowerOpFailed): ... + + +class VolumeEditorError(CustomizationFault): ... + + +class VramLimitLicense(NotEnoughLicenses): + @property + def limit(self) -> int: ... + + +class VsanClusterUuidMismatch(CannotMoveVsanEnabledHost): + @property + def hostClusterUuid(self) -> str: ... + @property + def destinationClusterUuid(self) -> str: ... + + +class VsanDiskFault(VsanFault): + @property + def device(self) -> str: ... + + +class VsanFault(VimFault): ... + + +class VsanIncompatibleDiskMapping(VsanDiskFault): ... + + +class VspanDestPortConflict(DvsFault): + @property + def vspanSessionKey1(self) -> str: ... + @property + def vspanSessionKey2(self) -> str: ... + @property + def portKey(self) -> str: ... + + +class VspanPortConflict(DvsFault): + @property + def vspanSessionKey1(self) -> str: ... + @property + def vspanSessionKey2(self) -> str: ... + @property + def portKey(self) -> str: ... + + +class VspanPortMoveFault(DvsFault): + @property + def srcPortgroupName(self) -> str: ... + @property + def destPortgroupName(self) -> str: ... + @property + def portKey(self) -> str: ... + + +class VspanPortPromiscChangeFault(DvsFault): + @property + def portKey(self) -> str: ... + + +class VspanPortgroupPromiscChangeFault(DvsFault): + @property + def portgroupName(self) -> str: ... + + +class VspanPortgroupTypeChangeFault(DvsFault): + @property + def portgroupName(self) -> str: ... + + +class VspanPromiscuousPortNotSupported(DvsFault): + @property + def vspanSessionKey(self) -> str: ... + @property + def portKey(self) -> str: ... + + +class VspanSameSessionPortConflict(DvsFault): + @property + def vspanSessionKey(self) -> str: ... + @property + def portKey(self) -> str: ... + + +class WakeOnLanNotSupported(VirtualHardwareCompatibilityIssue): ... + + +class WakeOnLanNotSupportedByVmotionNIC(HostPowerOpFailed): ... + + +class WillLoseHAProtection(MigrationFault): + @property + def resolution(self) -> str: ... + + + class Resolution(Enum): + svmotion = "svmotion" + relocate = "relocate" + + +class WillModifyConfigCpuRequirements(MigrationFault): ... + + +class WillResetSnapshotDirectory(MigrationFault): ... + + +class WipeDiskFault(VimFault): ... \ No newline at end of file diff --git a/pyVmomi/vim/host/__init__.pyi b/pyVmomi/vim/host/__init__.pyi new file mode 100644 index 000000000..24826e0b4 --- /dev/null +++ b/pyVmomi/vim/host/__init__.pyi @@ -0,0 +1,6159 @@ +from typing import List +from enum import Enum +from pyVmomi import ClusterStatus, DecommissionMode, DiskMapping, DiskResult, LowLevelProvisioningManager, VsanDiskInfo, VsanRuntimeInfo, vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import Link, ManagedObject, NoneType, binary, byte, long, short + + +class ActiveDirectoryAuthentication(DirectoryStore): + def JoinDomain(self, domainName: str, userName: str, password: str) -> vim.Task: ... + def JoinDomainWithCAM(self, domainName: str, camServer: str) -> vim.Task: ... + def ImportCertificateForCAM(self, certPath: str, camServer: str) -> vim.Task: ... + def LeaveCurrentDomain(self, force: bool) -> vim.Task: ... + def EnableSmartCardAuthentication(self) -> NoneType: ... + def InstallSmartCardTrustAnchor(self, cert: str) -> NoneType: ... + def ReplaceSmartCardTrustAnchors(self, certs: List[str]) -> NoneType: ... + def RemoveSmartCardTrustAnchor(self, issuer: str, serial: str) -> NoneType: ... + def RemoveSmartCardTrustAnchorByFingerprint(self, fingerprint: str, digest: str) -> NoneType: ... + def ListSmartCardTrustAnchors(self) -> List[str]: ... + def DisableSmartCardAuthentication(self) -> NoneType: ... + + + class CertificateDigest(Enum): + SHA1 = "sha1" + + +class AssignableHardwareManager(ManagedObject): + @property + def binding(self) -> List[AssignableHardwareBinding]: ... + @property + def config(self) -> AssignableHardwareConfig: ... + def DownloadDescriptionTree(self) -> binary: ... + def RetrieveDynamicPassthroughInfo(self) -> List[vim.vm.DynamicPassthroughInfo]: ... + def RetrieveVendorDeviceGroupInfo(self) -> List[vim.vm.VendorDeviceGroupInfo]: ... + def UpdateConfig(self, config: AssignableHardwareConfig) -> NoneType: ... + + +class AuthenticationManager(ManagedObject): + @property + def info(self) -> AuthenticationManagerInfo: ... + @property + def supportedStore(self) -> List[AuthenticationStore]: ... + + +class AuthenticationStore(ManagedObject): + @property + def info(self) -> AuthenticationStoreInfo: ... + + +class AutoStartManager(ManagedObject): + @property + def config(self) -> AutoStartManager.Config: ... + def Reconfigure(self, spec: AutoStartManager.Config) -> NoneType: ... + def AutoPowerOn(self) -> NoneType: ... + def AutoPowerOff(self) -> NoneType: ... + + + class AutoPowerInfo(vmodl.DynamicData): + @property + def key(self) -> vim.VirtualMachine: ... + @property + def startOrder(self) -> int: ... + @property + def startDelay(self) -> int: ... + @property + def waitForHeartbeat(self) -> AutoStartManager.AutoPowerInfo.WaitHeartbeatSetting: ... + @property + def startAction(self) -> str: ... + @property + def stopDelay(self) -> int: ... + @property + def stopAction(self) -> str: ... + + + class WaitHeartbeatSetting(Enum): + yes = "yes" + no = "no" + systemDefault = "systemdefault" + + + class Config(vmodl.DynamicData): + @property + def defaults(self) -> AutoStartManager.SystemDefaults: ... + @property + def powerInfo(self) -> List[AutoStartManager.AutoPowerInfo]: ... + + + class SystemDefaults(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def startDelay(self) -> int: ... + @property + def stopDelay(self) -> int: ... + @property + def waitForHeartbeat(self) -> bool: ... + @property + def stopAction(self) -> str: ... + + + class Action(Enum): + none = "none" + systemDefault = "systemdefault" + powerOn = "poweron" + powerOff = "poweroff" + guestShutdown = "guestshutdown" + suspend = "suspend" + + +class BootDeviceSystem(ManagedObject): + def QueryBootDevices(self) -> BootDeviceInfo: ... + def UpdateBootDevice(self, key: str) -> NoneType: ... + + + class BootDevice(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def description(self) -> str: ... + + +class CacheConfigurationManager(ManagedObject): + @property + def cacheConfigurationInfo(self) -> List[CacheConfigurationManager.CacheConfigurationInfo]: ... + def ConfigureCache(self, spec: CacheConfigurationManager.CacheConfigurationSpec) -> vim.Task: ... + + + class CacheConfigurationInfo(vmodl.DynamicData): + @property + def key(self) -> vim.Datastore: ... + @property + def swapSize(self) -> long: ... + + + class CacheConfigurationSpec(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + @property + def swapSize(self) -> long: ... + + +class CertificateManager(ManagedObject): + @property + def certificateInfo(self) -> CertificateManager.CertificateInfo: ... + def RetrieveCertificateInfoList(self) -> List[CertificateManager.CertificateInfo]: ... + def GenerateCertificateSigningRequest(self, useIpAddressAsCommonName: bool, spec: CertificateManager.CertificateSpec) -> str: ... + def GenerateCertificateSigningRequestByDn(self, distinguishedName: str, spec: CertificateManager.CertificateSpec) -> str: ... + def InstallServerCertificate(self, cert: str) -> NoneType: ... + def ReplaceCACertificatesAndCRLs(self, caCert: List[str], caCrl: List[str]) -> NoneType: ... + def ListCACertificates(self) -> List[str]: ... + def ListCACertificateRevocationLists(self) -> List[str]: ... + + + class CertificateInfo(vmodl.DynamicData): + @property + def kind(self) -> str: ... + @property + def issuer(self) -> str: ... + @property + def notBefore(self) -> datetime: ... + @property + def notAfter(self) -> datetime: ... + @property + def subject(self) -> str: ... + @property + def status(self) -> str: ... + + + class CertificateStatus(Enum): + unknown = "unknown" + expired = "expired" + expiring = "expiring" + expiringShortly = "expiringshortly" + expirationImminent = "expirationimminent" + good = "good" + revoked = "revoked" + + + class CertificateSpec(vmodl.DynamicData): + @property + def kind(self) -> str: ... + + + class CertificateKind(Enum): + Machine = "machine" + VASAClient = "vasaclient" + + +class CpuSchedulerSystem(vim.ExtensibleManagedObject): + @property + def hyperthreadInfo(self) -> CpuSchedulerSystem.HyperThreadScheduleInfo: ... + def EnableHyperThreading(self) -> NoneType: ... + def DisableHyperThreading(self) -> NoneType: ... + + + class HyperThreadScheduleInfo(vmodl.DynamicData): + @property + def available(self) -> bool: ... + @property + def active(self) -> bool: ... + @property + def config(self) -> bool: ... + + +class DatastoreBrowser(ManagedObject): + @property + def datastore(self) -> List[vim.Datastore]: ... + @property + def supportedType(self) -> List[DatastoreBrowser.Query]: ... + def Search(self, datastorePath: str, searchSpec: DatastoreBrowser.SearchSpec) -> vim.Task: ... + def SearchSubFolders(self, datastorePath: str, searchSpec: DatastoreBrowser.SearchSpec) -> vim.Task: ... + def DeleteFile(self, datastorePath: str) -> NoneType: ... + + + class FileInfo(vmodl.DynamicData): + @property + def path(self) -> str: ... + @property + def friendlyName(self) -> str: ... + @property + def fileSize(self) -> long: ... + @property + def modification(self) -> datetime: ... + @property + def owner(self) -> str: ... + + + class Details(vmodl.DynamicData): + @property + def fileType(self) -> bool: ... + @property + def fileSize(self) -> bool: ... + @property + def modification(self) -> bool: ... + @property + def fileOwner(self) -> bool: ... + + + class FloppyImageInfo(DatastoreBrowser.FileInfo): ... + + + class FloppyImageQuery(DatastoreBrowser.Query): ... + + + class FolderInfo(DatastoreBrowser.FileInfo): ... + + + class FolderQuery(DatastoreBrowser.Query): ... + + + class IsoImageInfo(DatastoreBrowser.FileInfo): ... + + + class IsoImageQuery(DatastoreBrowser.Query): ... + + + class Query(vmodl.DynamicData): ... + + + class SearchResults(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + @property + def folderPath(self) -> str: ... + @property + def file(self) -> List[DatastoreBrowser.FileInfo]: ... + + + class SearchSpec(vmodl.DynamicData): + @property + def query(self) -> List[DatastoreBrowser.Query]: ... + @property + def details(self) -> DatastoreBrowser.FileInfo.Details: ... + @property + def searchCaseInsensitive(self) -> bool: ... + @property + def matchPattern(self) -> List[str]: ... + @property + def sortFoldersFirst(self) -> bool: ... + + + class TemplateVmConfigInfo(DatastoreBrowser.VmConfigInfo): ... + + + class TemplateVmConfigQuery(DatastoreBrowser.VmConfigQuery): ... + + + class VmConfigInfo(DatastoreBrowser.FileInfo): + @property + def configVersion(self) -> int: ... + @property + def encryption(self) -> DatastoreBrowser.VmConfigInfo.VmConfigEncryptionInfo: ... + + + class VmConfigEncryptionInfo(vmodl.DynamicData): + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + + + class VmConfigQuery(DatastoreBrowser.Query): + @property + def filter(self) -> DatastoreBrowser.VmConfigQuery.Filter: ... + @property + def details(self) -> DatastoreBrowser.VmConfigQuery.Details: ... + + + class Filter(vmodl.DynamicData): + @property + def matchConfigVersion(self) -> List[int]: ... + @property + def encrypted(self) -> bool: ... + + + class VmDiskInfo(DatastoreBrowser.FileInfo): + @property + def diskType(self) -> type: ... + @property + def capacityKb(self) -> long: ... + @property + def hardwareVersion(self) -> int: ... + @property + def controllerType(self) -> type: ... + @property + def diskExtents(self) -> List[str]: ... + @property + def thin(self) -> bool: ... + @property + def encryption(self) -> DatastoreBrowser.VmDiskInfo.VmDiskEncryptionInfo: ... + + + class VmDiskEncryptionInfo(vmodl.DynamicData): + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + + + class VmDiskQuery(DatastoreBrowser.Query): + @property + def filter(self) -> DatastoreBrowser.VmDiskQuery.Filter: ... + @property + def details(self) -> DatastoreBrowser.VmDiskQuery.Details: ... + + + class VmLogInfo(DatastoreBrowser.FileInfo): ... + + + class VmLogQuery(DatastoreBrowser.Query): ... + + + class VmNvramInfo(DatastoreBrowser.FileInfo): ... + + + class VmNvramQuery(DatastoreBrowser.Query): ... + + + class VmSnapshotInfo(DatastoreBrowser.FileInfo): ... + + + class VmSnapshotQuery(DatastoreBrowser.Query): ... + + +class DatastoreSystem(ManagedObject): + @property + def datastore(self) -> List[vim.Datastore]: ... + @property + def capabilities(self) -> DatastoreSystem.Capabilities: ... + def UpdateLocalSwapDatastore(self, datastore: vim.Datastore) -> NoneType: ... + def QueryAvailableDisksForVmfs(self, datastore: vim.Datastore) -> List[ScsiDisk]: ... + def QueryVmfsDatastoreCreateOptions(self, devicePath: str, vmfsMajorVersion: int) -> List[VmfsDatastoreOption]: ... + def CreateVmfsDatastore(self, spec: VmfsDatastoreCreateSpec) -> vim.Datastore: ... + def QueryVmfsDatastoreExtendOptions(self, datastore: vim.Datastore, devicePath: str, suppressExpandCandidates: bool) -> List[VmfsDatastoreOption]: ... + def QueryVmfsDatastoreExpandOptions(self, datastore: vim.Datastore) -> List[VmfsDatastoreOption]: ... + def ExtendVmfsDatastore(self, datastore: vim.Datastore, spec: VmfsDatastoreExtendSpec) -> vim.Datastore: ... + def EnableClusteredVmdkSupport(self, datastore: vim.Datastore) -> NoneType: ... + def DisableClusteredVmdkSupport(self, datastore: vim.Datastore) -> NoneType: ... + def ExpandVmfsDatastore(self, datastore: vim.Datastore, spec: VmfsDatastoreExpandSpec) -> vim.Datastore: ... + def CreateNasDatastore(self, spec: NasVolume.Specification) -> vim.Datastore: ... + def CreateLocalDatastore(self, name: str, path: str) -> vim.Datastore: ... + def CreateVvolDatastore(self, spec: DatastoreSystem.VvolDatastoreSpec) -> vim.Datastore: ... + def RemoveDatastore(self, datastore: vim.Datastore) -> NoneType: ... + def SetMaxQueueDepth(self, datastore: vim.Datastore, maxQdepth: long) -> NoneType: ... + def QueryMaxQueueDepth(self, datastore: vim.Datastore) -> long: ... + def RemoveDatastoreEx(self, datastore: List[vim.Datastore]) -> vim.Task: ... + def ConfigureDatastorePrincipal(self, userName: str, password: str) -> NoneType: ... + def QueryUnresolvedVmfsVolumes(self) -> List[UnresolvedVmfsVolume]: ... + def ResignatureUnresolvedVmfsVolume(self, resolutionSpec: UnresolvedVmfsResignatureSpec) -> vim.Task: ... + + + class Capabilities(vmodl.DynamicData): + @property + def nfsMountCreationRequired(self) -> bool: ... + @property + def nfsMountCreationSupported(self) -> bool: ... + @property + def localDatastoreSupported(self) -> bool: ... + @property + def vmfsExtentExpansionSupported(self) -> bool: ... + + + class DatastoreResult(vmodl.DynamicData): + @property + def key(self) -> vim.Datastore: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class VvolDatastoreSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def scId(self) -> str: ... + + +class DateTimeSystem(ManagedObject): + @property + def dateTimeInfo(self) -> DateTimeInfo: ... + def UpdateConfig(self, config: DateTimeConfig) -> NoneType: ... + def QueryAvailableTimeZones(self) -> List[DateTimeSystem.TimeZone]: ... + def QueryDateTime(self) -> datetime: ... + def UpdateDateTime(self, dateTime: datetime) -> NoneType: ... + def Refresh(self) -> NoneType: ... + def TestTimeService(self) -> DateTimeSystem.ServiceTestResult: ... + + + class ServiceTestResult(vmodl.DynamicData): + @property + def workingNormally(self) -> bool: ... + @property + def report(self) -> List[str]: ... + + + class TimeZone(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def gmtOffset(self) -> int: ... + + +class DiagnosticSystem(ManagedObject): + @property + def activePartition(self) -> DiagnosticPartition: ... + def QueryAvailablePartition(self) -> List[DiagnosticPartition]: ... + def SelectActivePartition(self, partition: ScsiDisk.Partition) -> NoneType: ... + def QueryPartitionCreateOptions(self, storageType: str, diagnosticType: str) -> List[DiagnosticPartition.CreateOption]: ... + def QueryPartitionCreateDesc(self, diskUuid: str, diagnosticType: str) -> DiagnosticPartition.CreateDescription: ... + def CreateDiagnosticPartition(self, spec: DiagnosticPartition.CreateSpec) -> NoneType: ... + + +class DirectoryStore(AuthenticationStore): ... + + +class EsxAgentHostManager(ManagedObject): + @property + def configInfo(self) -> EsxAgentHostManager.ConfigInfo: ... + def UpdateConfig(self, configInfo: EsxAgentHostManager.ConfigInfo) -> NoneType: ... + + +class FirewallSystem(vim.ExtensibleManagedObject): + @property + def firewallInfo(self) -> FirewallInfo: ... + def UpdateDefaultPolicy(self, defaultPolicy: FirewallInfo.DefaultPolicy) -> NoneType: ... + def EnableRuleset(self, id: str) -> NoneType: ... + def DisableRuleset(self, id: str) -> NoneType: ... + def UpdateRuleset(self, id: str, spec: Ruleset.RulesetSpec) -> NoneType: ... + def Refresh(self) -> NoneType: ... + + +class FirmwareSystem(ManagedObject): + def ResetToFactoryDefaults(self) -> NoneType: ... + def BackupConfiguration(self) -> str: ... + def QueryConfigUploadURL(self) -> str: ... + def RestoreConfiguration(self, force: bool) -> NoneType: ... + + +class GraphicsManager(vim.ExtensibleManagedObject): + @property + def graphicsInfo(self) -> List[GraphicsInfo]: ... + @property + def graphicsConfig(self) -> GraphicsConfig: ... + @property + def sharedPassthruGpuTypes(self) -> List[str]: ... + @property + def sharedGpuCapabilities(self) -> List[SharedGpuCapabilities]: ... + def RetrieveVgpuDeviceInfo(self) -> List[vim.vm.VgpuDeviceInfo]: ... + def RetrieveVgpuProfileInfo(self) -> List[vim.vm.VgpuProfileInfo]: ... + def Refresh(self) -> NoneType: ... + def IsSharedGraphicsActive(self) -> bool: ... + def UpdateGraphicsConfig(self, config: GraphicsConfig) -> NoneType: ... + + +class HealthStatusSystem(ManagedObject): + @property + def runtime(self) -> HealthStatusSystem.Runtime: ... + def Refresh(self) -> NoneType: ... + def ResetSystemHealthInfo(self) -> NoneType: ... + def ClearSystemEventLog(self) -> NoneType: ... + def FetchSystemEventLog(self) -> List[SystemEventInfo]: ... + + + class Runtime(vmodl.DynamicData): + @property + def systemHealthInfo(self) -> SystemHealthInfo: ... + @property + def hardwareStatusInfo(self) -> HardwareStatusInfo: ... + + +class HostAccessManager(ManagedObject): + @property + def lockdownMode(self) -> HostAccessManager.LockdownMode: ... + def RetrieveAccessEntries(self) -> List[HostAccessManager.AccessEntry]: ... + def ChangeAccessMode(self, principal: str, isGroup: bool, accessMode: HostAccessManager.AccessMode) -> NoneType: ... + def QuerySystemUsers(self) -> List[str]: ... + def UpdateSystemUsers(self, users: List[str]) -> NoneType: ... + def QueryLockdownExceptions(self) -> List[str]: ... + def UpdateLockdownExceptions(self, users: List[str]) -> NoneType: ... + def ChangeLockdownMode(self, mode: HostAccessManager.LockdownMode) -> NoneType: ... + + + class AccessEntry(vmodl.DynamicData): + @property + def principal(self) -> str: ... + @property + def group(self) -> bool: ... + @property + def accessMode(self) -> HostAccessManager.AccessMode: ... + + + class AccessMode(Enum): + accessNone = "accessnone" + accessAdmin = "accessadmin" + accessNoAccess = "accessnoaccess" + accessReadOnly = "accessreadonly" + accessOther = "accessother" + + + class LockdownMode(Enum): + lockdownDisabled = "lockdowndisabled" + lockdownNormal = "lockdownnormal" + lockdownStrict = "lockdownstrict" + + +class ImageConfigManager(ManagedObject): + def QueryHostAcceptanceLevel(self) -> str: ... + def QueryHostImageProfile(self) -> ImageConfigManager.ImageProfileSummary: ... + def UpdateAcceptanceLevel(self, newAcceptanceLevel: str) -> NoneType: ... + def FetchSoftwarePackages(self) -> List[SoftwarePackage]: ... + def InstallDate(self) -> datetime: ... + + + class ImageProfileSummary(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def vendor(self) -> str: ... + + + class AcceptanceLevel(Enum): + vmware_certified = "vmware_certified" + vmware_accepted = "vmware_accepted" + partner = "partner" + community = "community" + + +class IscsiManager(ManagedObject): + def QueryVnicStatus(self, vnicDevice: str) -> IscsiManager.IscsiStatus: ... + def QueryPnicStatus(self, pnicDevice: str) -> IscsiManager.IscsiStatus: ... + def QueryBoundVnics(self, iScsiHbaName: str) -> List[IscsiManager.IscsiPortInfo]: ... + def QueryCandidateNics(self, iScsiHbaName: str) -> List[IscsiManager.IscsiPortInfo]: ... + def BindVnic(self, iScsiHbaName: str, vnicDevice: str) -> NoneType: ... + def UnbindVnic(self, iScsiHbaName: str, vnicDevice: str, force: bool) -> NoneType: ... + def QueryMigrationDependencies(self, pnicDevice: List[str]) -> IscsiManager.IscsiMigrationDependency: ... + + + class IscsiDependencyEntity(vmodl.DynamicData): + @property + def pnicDevice(self) -> str: ... + @property + def vnicDevice(self) -> str: ... + @property + def vmhbaName(self) -> str: ... + + + class IscsiMigrationDependency(vmodl.DynamicData): + @property + def migrationAllowed(self) -> bool: ... + @property + def disallowReason(self) -> IscsiManager.IscsiStatus: ... + @property + def dependency(self) -> List[IscsiManager.IscsiDependencyEntity]: ... + + + class IscsiPortInfo(vmodl.DynamicData): + @property + def vnicDevice(self) -> str: ... + @property + def vnic(self) -> VirtualNic: ... + @property + def pnicDevice(self) -> str: ... + @property + def pnic(self) -> PhysicalNic: ... + @property + def switchName(self) -> str: ... + @property + def switchUuid(self) -> str: ... + @property + def portgroupName(self) -> str: ... + @property + def portgroupKey(self) -> str: ... + @property + def portKey(self) -> str: ... + @property + def opaqueNetworkId(self) -> str: ... + @property + def opaqueNetworkType(self) -> str: ... + @property + def opaqueNetworkName(self) -> str: ... + @property + def externalId(self) -> str: ... + @property + def complianceStatus(self) -> IscsiManager.IscsiStatus: ... + @property + def pathStatus(self) -> str: ... + + + class PathStatus(Enum): + notUsed = "notused" + active = "active" + standBy = "standby" + lastActive = "lastactive" + + + class IscsiStatus(vmodl.DynamicData): + @property + def reason(self) -> List[vmodl.MethodFault]: ... + + +class KernelModuleSystem(ManagedObject): + def QueryModules(self) -> List[KernelModuleSystem.ModuleInfo]: ... + def UpdateModuleOptionString(self, name: str, options: str) -> NoneType: ... + def QueryConfiguredModuleOptionString(self, name: str) -> str: ... + + + class ModuleInfo(vmodl.DynamicData): + @property + def id(self) -> int: ... + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def filename(self) -> str: ... + @property + def optionString(self) -> str: ... + @property + def loaded(self) -> bool: ... + @property + def enabled(self) -> bool: ... + @property + def useCount(self) -> int: ... + @property + def readOnlySection(self) -> KernelModuleSystem.ModuleInfo.SectionInfo: ... + @property + def writableSection(self) -> KernelModuleSystem.ModuleInfo.SectionInfo: ... + @property + def textSection(self) -> KernelModuleSystem.ModuleInfo.SectionInfo: ... + @property + def dataSection(self) -> KernelModuleSystem.ModuleInfo.SectionInfo: ... + @property + def bssSection(self) -> KernelModuleSystem.ModuleInfo.SectionInfo: ... + + + class SectionInfo(vmodl.DynamicData): + @property + def address(self) -> long: ... + @property + def length(self) -> int: ... + + +class LocalAccountManager(ManagedObject): + def CreateUser(self, user: LocalAccountManager.AccountSpecification) -> NoneType: ... + def UpdateUser(self, user: LocalAccountManager.AccountSpecification) -> NoneType: ... + def CreateGroup(self, group: LocalAccountManager.AccountSpecification) -> NoneType: ... + def RemoveUser(self, userName: str) -> NoneType: ... + def RemoveGroup(self, groupName: str) -> NoneType: ... + def AssignUserToGroup(self, user: str, group: str) -> NoneType: ... + def UnassignUserFromGroup(self, user: str, group: str) -> NoneType: ... + def ChangePassword(self, user: str, oldPassword: str, newPassword: str) -> NoneType: ... + + + class AccountSpecification(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def password(self) -> str: ... + @property + def description(self) -> str: ... + + + class PosixAccountSpecification(LocalAccountManager.AccountSpecification): + @property + def posixId(self) -> int: ... + @property + def shellAccess(self) -> bool: ... + + +class LocalAuthentication(AuthenticationStore): ... + + +class MemoryManagerSystem(vim.ExtensibleManagedObject): + @property + def consoleReservationInfo(self) -> MemoryManagerSystem.ServiceConsoleReservationInfo: ... + @property + def virtualMachineReservationInfo(self) -> MemoryManagerSystem.VirtualMachineReservationInfo: ... + def ReconfigureServiceConsoleReservation(self, cfgBytes: long) -> NoneType: ... + def ReconfigureVirtualMachineReservation(self, spec: MemoryManagerSystem.VirtualMachineReservationSpec) -> NoneType: ... + + + class ServiceConsoleReservationInfo(vmodl.DynamicData): + @property + def serviceConsoleReservedCfg(self) -> long: ... + @property + def serviceConsoleReserved(self) -> long: ... + @property + def unreserved(self) -> long: ... + + + class VirtualMachineReservationInfo(vmodl.DynamicData): + @property + def virtualMachineMin(self) -> long: ... + @property + def virtualMachineMax(self) -> long: ... + @property + def virtualMachineReserved(self) -> long: ... + @property + def allocationPolicy(self) -> str: ... + + + class AllocationPolicy(Enum): + swapNone = "swapnone" + swapSome = "swapsome" + swapMost = "swapmost" + + + class VirtualMachineReservationSpec(vmodl.DynamicData): + @property + def virtualMachineReserved(self) -> long: ... + @property + def allocationPolicy(self) -> str: ... + + +class MessageBusProxy(ManagedObject): ... + + +class NetworkSystem(vim.ExtensibleManagedObject): + @property + def capabilities(self) -> NetCapabilities: ... + @property + def networkInfo(self) -> NetworkInfo: ... + @property + def offloadCapabilities(self) -> NetOffloadCapabilities: ... + @property + def networkConfig(self) -> NetworkConfig: ... + @property + def dnsConfig(self) -> DnsConfig: ... + @property + def ipRouteConfig(self) -> IpRouteConfig: ... + @property + def consoleIpRouteConfig(self) -> IpRouteConfig: ... + def UpdateNetworkConfig(self, config: NetworkConfig, changeMode: str) -> NetworkConfig.Result: ... + def UpdateDnsConfig(self, config: DnsConfig) -> NoneType: ... + def UpdateIpRouteConfig(self, config: IpRouteConfig) -> NoneType: ... + def UpdateConsoleIpRouteConfig(self, config: IpRouteConfig) -> NoneType: ... + def UpdateIpRouteTableConfig(self, config: IpRouteTableConfig) -> NoneType: ... + def AddVirtualSwitch(self, vswitchName: str, spec: VirtualSwitch.Specification) -> NoneType: ... + def RemoveVirtualSwitch(self, vswitchName: str) -> NoneType: ... + def UpdateVirtualSwitch(self, vswitchName: str, spec: VirtualSwitch.Specification) -> NoneType: ... + def AddPortGroup(self, portgrp: PortGroup.Specification) -> NoneType: ... + def RemovePortGroup(self, pgName: str) -> NoneType: ... + def UpdatePortGroup(self, pgName: str, portgrp: PortGroup.Specification) -> NoneType: ... + def UpdatePhysicalNicLinkSpeed(self, device: str, linkSpeed: PhysicalNic.LinkSpeedDuplex) -> NoneType: ... + def QueryNetworkHint(self, device: List[str]) -> List[PhysicalNic.NetworkHint]: ... + def AddVirtualNic(self, portgroup: str, nic: VirtualNic.Specification) -> str: ... + def RemoveVirtualNic(self, device: str) -> NoneType: ... + def UpdateVirtualNic(self, device: str, nic: VirtualNic.Specification) -> NoneType: ... + def AddServiceConsoleVirtualNic(self, portgroup: str, nic: VirtualNic.Specification) -> str: ... + def RemoveServiceConsoleVirtualNic(self, device: str) -> NoneType: ... + def UpdateServiceConsoleVirtualNic(self, device: str, nic: VirtualNic.Specification) -> NoneType: ... + def RestartServiceConsoleVirtualNic(self, device: str) -> NoneType: ... + def Refresh(self) -> NoneType: ... + + +class NvdimmSystem(ManagedObject): + @property + def nvdimmSystemInfo(self) -> NvdimmSystem.NvdimmSystemInfo: ... + def CreateNamespace(self, createSpec: NvdimmSystem.NamespaceCreateSpec) -> vim.Task: ... + def CreatePMemNamespace(self, createSpec: NvdimmSystem.PMemNamespaceCreateSpec) -> vim.Task: ... + def DeleteNamespace(self, deleteSpec: NvdimmSystem.NamespaceDeleteSpec) -> vim.Task: ... + def DeleteBlockNamespaces(self) -> vim.Task: ... + + + class DimmInfo(vmodl.DynamicData): + @property + def dimmHandle(self) -> int: ... + @property + def healthInfo(self) -> NvdimmSystem.HealthInfo: ... + @property + def totalCapacity(self) -> long: ... + @property + def persistentCapacity(self) -> long: ... + @property + def availablePersistentCapacity(self) -> long: ... + @property + def volatileCapacity(self) -> long: ... + @property + def availableVolatileCapacity(self) -> long: ... + @property + def blockCapacity(self) -> long: ... + @property + def regionInfo(self) -> List[NvdimmSystem.RegionInfo]: ... + @property + def representationString(self) -> str: ... + + + class Guid(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + + + class HealthInfo(vmodl.DynamicData): + @property + def healthStatus(self) -> str: ... + @property + def healthInformation(self) -> str: ... + @property + def stateFlagInfo(self) -> List[str]: ... + @property + def dimmTemperature(self) -> int: ... + @property + def dimmTemperatureThreshold(self) -> int: ... + @property + def spareBlocksPercentage(self) -> int: ... + @property + def spareBlockThreshold(self) -> int: ... + @property + def dimmLifespanPercentage(self) -> int: ... + @property + def esTemperature(self) -> int: ... + @property + def esTemperatureThreshold(self) -> int: ... + @property + def esLifespanPercentage(self) -> int: ... + + + class StateFlag(Enum): + normal = "normal" + error = "error" + + + class InterleaveSetInfo(vmodl.DynamicData): + @property + def setId(self) -> int: ... + @property + def rangeType(self) -> str: ... + @property + def baseAddress(self) -> long: ... + @property + def size(self) -> long: ... + @property + def availableSize(self) -> long: ... + @property + def deviceList(self) -> List[int]: ... + @property + def state(self) -> str: ... + + + class InterleaveSetState(Enum): + invalid = "invalid" + active = "active" + + + class NamespaceCreateSpec(vmodl.DynamicData): + @property + def friendlyName(self) -> str: ... + @property + def blockSize(self) -> long: ... + @property + def blockCount(self) -> long: ... + @property + def type(self) -> str: ... + @property + def locationID(self) -> int: ... + + + class NamespaceDeleteSpec(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + + + class NamespaceDetails(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def friendlyName(self) -> str: ... + @property + def size(self) -> long: ... + @property + def type(self) -> str: ... + @property + def namespaceHealthStatus(self) -> str: ... + @property + def interleavesetID(self) -> int: ... + @property + def state(self) -> str: ... + + + class NamespaceHealthStatus(Enum): + normal = "normal" + missing = "missing" + labelMissing = "labelmissing" + interleaveBroken = "interleavebroken" + labelInconsistent = "labelinconsistent" + + + class NamespaceState(Enum): + invalid = "invalid" + notInUse = "notinuse" + inUse = "inuse" + + + class NamespaceInfo(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def friendlyName(self) -> str: ... + @property + def blockSize(self) -> long: ... + @property + def blockCount(self) -> long: ... + @property + def type(self) -> str: ... + @property + def namespaceHealthStatus(self) -> str: ... + @property + def locationID(self) -> int: ... + @property + def state(self) -> str: ... + + + class NvdimmSystemInfo(vmodl.DynamicData): + @property + def summary(self) -> NvdimmSystem.Summary: ... + @property + def dimms(self) -> List[int]: ... + @property + def dimmInfo(self) -> List[NvdimmSystem.DimmInfo]: ... + @property + def interleaveSet(self) -> List[int]: ... + @property + def iSetInfo(self) -> List[NvdimmSystem.InterleaveSetInfo]: ... + @property + def namespace(self) -> List[NvdimmSystem.Guid]: ... + @property + def nsInfo(self) -> List[NvdimmSystem.NamespaceInfo]: ... + @property + def nsDetails(self) -> List[NvdimmSystem.NamespaceDetails]: ... + + + class PMemNamespaceCreateSpec(vmodl.DynamicData): + @property + def friendlyName(self) -> str: ... + @property + def size(self) -> long: ... + @property + def interleavesetID(self) -> int: ... + + + class RegionInfo(vmodl.DynamicData): + @property + def regionId(self) -> int: ... + @property + def setId(self) -> int: ... + @property + def rangeType(self) -> str: ... + @property + def startAddr(self) -> long: ... + @property + def size(self) -> long: ... + @property + def offset(self) -> long: ... + + + class Summary(vmodl.DynamicData): + @property + def numDimms(self) -> int: ... + @property + def healthStatus(self) -> str: ... + @property + def totalCapacity(self) -> long: ... + @property + def persistentCapacity(self) -> long: ... + @property + def blockCapacity(self) -> long: ... + @property + def availableCapacity(self) -> long: ... + @property + def numInterleavesets(self) -> int: ... + @property + def numNamespaces(self) -> int: ... + + + class ConfigSummary(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def port(self) -> int: ... + @property + def sslThumbprint(self) -> str: ... + @property + def product(self) -> vim.AboutInfo: ... + @property + def vmotionEnabled(self) -> bool: ... + @property + def faultToleranceEnabled(self) -> bool: ... + @property + def featureVersion(self) -> List[FeatureVersionInfo]: ... + @property + def agentVmDatastore(self) -> vim.Datastore: ... + @property + def agentVmNetwork(self) -> vim.Network: ... + + + class GatewaySummary(vmodl.DynamicData): + @property + def gatewayType(self) -> str: ... + @property + def gatewayId(self) -> str: ... + + + class HardwareSummary(vmodl.DynamicData): + @property + def vendor(self) -> str: ... + @property + def model(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def otherIdentifyingInfo(self) -> List[SystemIdentificationInfo]: ... + @property + def memorySize(self) -> long: ... + @property + def cpuModel(self) -> str: ... + @property + def cpuMhz(self) -> int: ... + @property + def numCpuPkgs(self) -> short: ... + @property + def numCpuCores(self) -> short: ... + @property + def numCpuThreads(self) -> short: ... + @property + def numNics(self) -> int: ... + @property + def numHBAs(self) -> int: ... + + + class QuickStats(vmodl.DynamicData): + @property + def overallCpuUsage(self) -> int: ... + @property + def overallMemoryUsage(self) -> int: ... + @property + def distributedCpuFairness(self) -> int: ... + @property + def distributedMemoryFairness(self) -> int: ... + @property + def availablePMemCapacity(self) -> int: ... + @property + def uptime(self) -> int: ... + + + class NamespaceType(Enum): + blockNamespace = "blocknamespace" + persistentNamespace = "persistentnamespace" + + + class RangeType(Enum): + volatileRange = "volatilerange" + persistentRange = "persistentrange" + controlRange = "controlrange" + blockRange = "blockrange" + volatileVirtualDiskRange = "volatilevirtualdiskrange" + volatileVirtualCDRange = "volatilevirtualcdrange" + persistentVirtualDiskRange = "persistentvirtualdiskrange" + persistentVirtualCDRange = "persistentvirtualcdrange" + + +class PatchManager(ManagedObject): + def Check(self, metaUrls: List[str], bundleUrls: List[str], spec: PatchManager.PatchManagerOperationSpec) -> vim.Task: ... + def Scan(self, repository: PatchManager.Locator, updateID: List[str]) -> vim.Task: ... + def ScanV2(self, metaUrls: List[str], bundleUrls: List[str], spec: PatchManager.PatchManagerOperationSpec) -> vim.Task: ... + def Stage(self, metaUrls: List[str], bundleUrls: List[str], vibUrls: List[str], spec: PatchManager.PatchManagerOperationSpec) -> vim.Task: ... + def Install(self, repository: PatchManager.Locator, updateID: str, force: bool) -> vim.Task: ... + def InstallV2(self, metaUrls: List[str], bundleUrls: List[str], vibUrls: List[str], spec: PatchManager.PatchManagerOperationSpec) -> vim.Task: ... + def Uninstall(self, bulletinIds: List[str], spec: PatchManager.PatchManagerOperationSpec) -> vim.Task: ... + def Query(self, spec: PatchManager.PatchManagerOperationSpec) -> vim.Task: ... + + + class Locator(vmodl.DynamicData): + @property + def url(self) -> str: ... + @property + def proxy(self) -> str: ... + + + class PatchManagerOperationSpec(vmodl.DynamicData): + @property + def proxy(self) -> str: ... + @property + def port(self) -> int: ... + @property + def userName(self) -> str: ... + @property + def password(self) -> str: ... + @property + def cmdOption(self) -> str: ... + + + class Status(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def applicable(self) -> bool: ... + @property + def reason(self) -> List[str]: ... + @property + def integrity(self) -> str: ... + @property + def installed(self) -> bool: ... + @property + def installState(self) -> List[str]: ... + @property + def prerequisitePatch(self) -> List[PatchManager.Status.PrerequisitePatch]: ... + @property + def restartRequired(self) -> bool: ... + @property + def reconnectRequired(self) -> bool: ... + @property + def vmOffRequired(self) -> bool: ... + @property + def supersededPatchIds(self) -> List[str]: ... + + + class PrerequisitePatch(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def installState(self) -> List[str]: ... + + + class InstallState(Enum): + hostRestarted = "hostrestarted" + imageActive = "imageactive" + + + class Integrity(Enum): + validated = "validated" + keyNotFound = "keynotfound" + keyRevoked = "keyrevoked" + keyExpired = "keyexpired" + digestMismatch = "digestmismatch" + notEnoughSignatures = "notenoughsignatures" + validationError = "validationerror" + + + class Reason(Enum): + obsoleted = "obsoleted" + missingPatch = "missingpatch" + missingLib = "missinglib" + hasDependentPatch = "hasdependentpatch" + conflictPatch = "conflictpatch" + conflictLib = "conflictlib" + + +class PciPassthruSystem(vim.ExtensibleManagedObject): + @property + def pciPassthruInfo(self) -> List[PciPassthruInfo]: ... + @property + def sriovDevicePoolInfo(self) -> List[SriovDevicePoolInfo]: ... + def Refresh(self) -> NoneType: ... + def UpdatePassthruConfig(self, config: List[PciPassthruConfig]) -> NoneType: ... + + +class PowerSystem(ManagedObject): + @property + def capability(self) -> PowerSystem.Capability: ... + @property + def info(self) -> PowerSystem.Info: ... + def ConfigurePolicy(self, key: int) -> NoneType: ... + + + class Info(vmodl.DynamicData): + @property + def currentPolicy(self) -> PowerSystem.PowerPolicy: ... + + + class PowerPolicy(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def name(self) -> str: ... + @property + def shortName(self) -> str: ... + @property + def description(self) -> str: ... + + +class ServiceSystem(vim.ExtensibleManagedObject): + @property + def serviceInfo(self) -> ServiceInfo: ... + def UpdatePolicy(self, id: str, policy: str) -> NoneType: ... + def Start(self, id: str) -> NoneType: ... + def Stop(self, id: str) -> NoneType: ... + def Restart(self, id: str) -> NoneType: ... + def Uninstall(self, id: str) -> NoneType: ... + def Refresh(self) -> NoneType: ... + + +class SnmpSystem(ManagedObject): + @property + def configuration(self) -> SnmpSystem.SnmpConfigSpec: ... + @property + def limits(self) -> SnmpSystem.AgentLimits: ... + def ReconfigureSnmpAgent(self, spec: SnmpSystem.SnmpConfigSpec) -> NoneType: ... + def SendTestNotification(self) -> NoneType: ... + + + class AgentLimits(vmodl.DynamicData): + @property + def maxReadOnlyCommunities(self) -> int: ... + @property + def maxTrapDestinations(self) -> int: ... + @property + def maxCommunityLength(self) -> int: ... + @property + def maxBufferSize(self) -> int: ... + @property + def capability(self) -> SnmpSystem.AgentLimits.Capability: ... + + + class Capability(Enum): + COMPLETE = "complete" + DIAGNOSTICS = "diagnostics" + CONFIGURATION = "configuration" + + + class SnmpConfigSpec(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def port(self) -> int: ... + @property + def readOnlyCommunities(self) -> List[str]: ... + @property + def trapTargets(self) -> List[SnmpSystem.SnmpConfigSpec.Destination]: ... + @property + def option(self) -> List[vim.KeyValue]: ... + + + class Destination(vmodl.DynamicData): + @property + def hostName(self) -> str: ... + @property + def port(self) -> int: ... + @property + def community(self) -> str: ... + + +class StorageSystem(vim.ExtensibleManagedObject): + @property + def storageDeviceInfo(self) -> StorageDeviceInfo: ... + @property + def fileSystemVolumeInfo(self) -> FileSystemVolumeInfo: ... + @property + def systemFile(self) -> List[str]: ... + @property + def multipathStateInfo(self) -> MultipathStateInfo: ... + def RetrieveDiskPartitionInfo(self, devicePath: List[str]) -> List[DiskPartitionInfo]: ... + def ComputeDiskPartitionInfo(self, devicePath: str, layout: DiskPartitionInfo.Layout, partitionFormat: str) -> DiskPartitionInfo: ... + def ComputeDiskPartitionInfoForResize(self, partition: ScsiDisk.Partition, blockRange: DiskPartitionInfo.BlockRange, partitionFormat: str) -> DiskPartitionInfo: ... + def UpdateDiskPartitions(self, devicePath: str, spec: DiskPartitionInfo.Specification) -> NoneType: ... + def FormatVmfs(self, createSpec: VmfsVolume.Specification) -> VmfsVolume: ... + def MountVmfsVolume(self, vmfsUuid: str) -> NoneType: ... + def UnmountVmfsVolume(self, vmfsUuid: str) -> NoneType: ... + def UnmountVmfsVolumeEx(self, vmfsUuid: List[str]) -> vim.Task: ... + def MountVmfsVolumeEx(self, vmfsUuid: List[str]) -> vim.Task: ... + def UnmapVmfsVolumeEx(self, vmfsUuid: List[str]) -> vim.Task: ... + def DeleteVmfsVolumeState(self, vmfsUuid: str) -> NoneType: ... + def RescanVmfs(self) -> NoneType: ... + def AttachVmfsExtent(self, vmfsPath: str, extent: ScsiDisk.Partition) -> NoneType: ... + def ExpandVmfsExtent(self, vmfsPath: str, extent: ScsiDisk.Partition) -> NoneType: ... + def UpgradeVmfs(self, vmfsPath: str) -> NoneType: ... + def UpgradeVmLayout(self) -> NoneType: ... + def QueryUnresolvedVmfsVolume(self) -> List[UnresolvedVmfsVolume]: ... + def ResolveMultipleUnresolvedVmfsVolumes(self, resolutionSpec: List[UnresolvedVmfsResolutionSpec]) -> List[UnresolvedVmfsResolutionResult]: ... + def ResolveMultipleUnresolvedVmfsVolumesEx(self, resolutionSpec: List[UnresolvedVmfsResolutionSpec]) -> vim.Task: ... + def UnmountForceMountedVmfsVolume(self, vmfsUuid: str) -> NoneType: ... + def RescanHba(self, hbaDevice: str) -> NoneType: ... + def RescanAllHba(self) -> NoneType: ... + def UpdateSoftwareInternetScsiEnabled(self, enabled: bool) -> NoneType: ... + def UpdateInternetScsiDiscoveryProperties(self, iScsiHbaDevice: str, discoveryProperties: InternetScsiHba.DiscoveryProperties) -> NoneType: ... + def UpdateInternetScsiAuthenticationProperties(self, iScsiHbaDevice: str, authenticationProperties: InternetScsiHba.AuthenticationProperties, targetSet: InternetScsiHba.TargetSet) -> NoneType: ... + def UpdateInternetScsiDigestProperties(self, iScsiHbaDevice: str, targetSet: InternetScsiHba.TargetSet, digestProperties: InternetScsiHba.DigestProperties) -> NoneType: ... + def UpdateInternetScsiAdvancedOptions(self, iScsiHbaDevice: str, targetSet: InternetScsiHba.TargetSet, options: List[InternetScsiHba.ParamValue]) -> NoneType: ... + def UpdateInternetScsiIPProperties(self, iScsiHbaDevice: str, ipProperties: InternetScsiHba.IPProperties) -> NoneType: ... + def UpdateInternetScsiName(self, iScsiHbaDevice: str, iScsiName: str) -> NoneType: ... + def UpdateInternetScsiAlias(self, iScsiHbaDevice: str, iScsiAlias: str) -> NoneType: ... + def AddInternetScsiSendTargets(self, iScsiHbaDevice: str, targets: List[InternetScsiHba.SendTarget]) -> NoneType: ... + def RemoveInternetScsiSendTargets(self, iScsiHbaDevice: str, targets: List[InternetScsiHba.SendTarget], force: bool) -> NoneType: ... + def AddInternetScsiStaticTargets(self, iScsiHbaDevice: str, targets: List[InternetScsiHba.StaticTarget]) -> NoneType: ... + def RemoveInternetScsiStaticTargets(self, iScsiHbaDevice: str, targets: List[InternetScsiHba.StaticTarget]) -> NoneType: ... + def EnableMultipathPath(self, pathName: str) -> NoneType: ... + def DisableMultipathPath(self, pathName: str) -> NoneType: ... + def SetMultipathLunPolicy(self, lunId: str, policy: MultipathInfo.LogicalUnitPolicy) -> NoneType: ... + def UpdateHppMultipathLunPolicy(self, lunId: str, policy: MultipathInfo.HppLogicalUnitPolicy) -> NoneType: ... + def QueryPathSelectionPolicyOptions(self) -> List[PathSelectionPolicyOption]: ... + def QueryStorageArrayTypePolicyOptions(self) -> List[StorageArrayTypePolicyOption]: ... + def UpdateScsiLunDisplayName(self, lunUuid: str, displayName: str) -> NoneType: ... + def DetachScsiLun(self, lunUuid: str) -> NoneType: ... + def DetachScsiLunEx(self, lunUuid: List[str]) -> vim.Task: ... + def DeleteScsiLunState(self, lunCanonicalName: str) -> NoneType: ... + def AttachScsiLun(self, lunUuid: str) -> NoneType: ... + def AttachScsiLunEx(self, lunUuid: List[str]) -> vim.Task: ... + def Refresh(self) -> NoneType: ... + def DiscoverFcoeHbas(self, fcoeSpec: FcoeConfig.FcoeSpecification) -> NoneType: ... + def MarkForRemoval(self, hbaName: str, remove: bool) -> NoneType: ... + def FormatVffs(self, createSpec: VffsVolume.Specification) -> VffsVolume: ... + def ExtendVffs(self, vffsPath: str, devicePath: str, spec: DiskPartitionInfo.Specification) -> NoneType: ... + def DestroyVffs(self, vffsPath: str) -> NoneType: ... + def MountVffsVolume(self, vffsUuid: str) -> NoneType: ... + def UnmountVffsVolume(self, vffsUuid: str) -> NoneType: ... + def DeleteVffsVolumeState(self, vffsUuid: str) -> NoneType: ... + def RescanVffs(self) -> NoneType: ... + def QueryAvailableSsds(self, vffsPath: str) -> List[ScsiDisk]: ... + def SetNFSUser(self, user: str, password: str) -> NoneType: ... + def ChangeNFSUserPassword(self, password: str) -> NoneType: ... + def QueryNFSUser(self) -> NasVolume.UserInfo: ... + def ClearNFSUser(self) -> NoneType: ... + def TurnDiskLocatorLedOn(self, scsiDiskUuids: List[str]) -> vim.Task: ... + def TurnDiskLocatorLedOff(self, scsiDiskUuids: List[str]) -> vim.Task: ... + def MarkAsSsd(self, scsiDiskUuid: str) -> vim.Task: ... + def MarkAsNonSsd(self, scsiDiskUuid: str) -> vim.Task: ... + def MarkAsLocal(self, scsiDiskUuid: str) -> vim.Task: ... + def MarkAsNonLocal(self, scsiDiskUuid: str) -> vim.Task: ... + def UpdateVmfsUnmapPriority(self, vmfsUuid: str, unmapPriority: str) -> NoneType: ... + def UpdateVmfsUnmapBandwidth(self, vmfsUuid: str, unmapBandwidthSpec: VmfsVolume.UnmapBandwidthSpec) -> NoneType: ... + def QueryVmfsConfigOption(self) -> List[VmfsVolume.ConfigOption]: ... + def MarkPerenniallyReserved(self, lunUuid: str, state: bool) -> NoneType: ... + def MarkPerenniallyReservedEx(self, lunUuid: List[str], state: bool) -> vim.Task: ... + def CreateNvmeOverRdmaAdapter(self, rdmaDeviceName: str) -> NoneType: ... + def RemoveNvmeOverRdmaAdapter(self, hbaDeviceName: str) -> NoneType: ... + def CreateSoftwareAdapter(self, spec: HbaCreateSpec) -> NoneType: ... + def RemoveSoftwareAdapter(self, hbaDeviceName: str) -> NoneType: ... + def DiscoverNvmeControllers(self, discoverSpec: NvmeDiscoverSpec) -> NvmeDiscoveryLog: ... + def ConnectNvmeController(self, connectSpec: NvmeConnectSpec) -> NoneType: ... + def DisconnectNvmeController(self, disconnectSpec: NvmeDisconnectSpec) -> NoneType: ... + def ConnectNvmeControllerEx(self, connectSpec: List[NvmeConnectSpec]) -> vim.Task: ... + def DisconnectNvmeControllerEx(self, disconnectSpec: List[NvmeDisconnectSpec]) -> vim.Task: ... + + + class DiskLocatorLedResult(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class ScsiLunResult(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class VmfsVolumeResult(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class VFlashManager(ManagedObject): + @property + def vFlashConfigInfo(self) -> VFlashManager.VFlashConfigInfo: ... + def ConfigureVFlashResourceEx(self, devicePath: List[str]) -> vim.Task: ... + def ConfigureVFlashResource(self, spec: VFlashManager.VFlashResourceConfigSpec) -> NoneType: ... + def RemoveVFlashResource(self) -> NoneType: ... + def ConfigureHostVFlashCache(self, spec: VFlashManager.VFlashCacheConfigSpec) -> NoneType: ... + def GetVFlashModuleDefaultConfig(self, vFlashModule: str) -> vim.vm.device.VirtualDisk.VFlashCacheConfigInfo: ... + + + class VFlashCacheConfigInfo(vmodl.DynamicData): + @property + def vFlashModuleConfigOption(self) -> List[VFlashManager.VFlashCacheConfigInfo.VFlashModuleConfigOption]: ... + @property + def defaultVFlashModule(self) -> str: ... + @property + def swapCacheReservationInGB(self) -> long: ... + + + class VFlashModuleConfigOption(vmodl.DynamicData): + @property + def vFlashModule(self) -> str: ... + @property + def vFlashModuleVersion(self) -> str: ... + @property + def minSupportedModuleVersion(self) -> str: ... + @property + def cacheConsistencyType(self) -> vim.option.ChoiceOption: ... + @property + def cacheMode(self) -> vim.option.ChoiceOption: ... + @property + def blockSizeInKBOption(self) -> vim.option.LongOption: ... + @property + def reservationInMBOption(self) -> vim.option.LongOption: ... + @property + def maxDiskSizeInKB(self) -> long: ... + + + class VFlashCacheConfigSpec(vmodl.DynamicData): + @property + def defaultVFlashModule(self) -> str: ... + @property + def swapCacheReservationInGB(self) -> long: ... + + + class VFlashConfigInfo(vmodl.DynamicData): + @property + def vFlashResourceConfigInfo(self) -> VFlashManager.VFlashResourceConfigInfo: ... + @property + def vFlashCacheConfigInfo(self) -> VFlashManager.VFlashCacheConfigInfo: ... + + + class VFlashResourceConfigInfo(vmodl.DynamicData): + @property + def vffs(self) -> VffsVolume: ... + @property + def capacity(self) -> long: ... + + + class VFlashResourceConfigSpec(vmodl.DynamicData): + @property + def vffsUuid(self) -> str: ... + + + class VFlashResourceRunTimeInfo(vmodl.DynamicData): + @property + def usage(self) -> long: ... + @property + def capacity(self) -> long: ... + @property + def accessible(self) -> bool: ... + @property + def capacityForVmCache(self) -> long: ... + @property + def freeForVmCache(self) -> long: ... + + +class VMotionSystem(vim.ExtensibleManagedObject): + @property + def netConfig(self) -> VMotionSystem.NetConfig: ... + @property + def ipConfig(self) -> IpConfig: ... + def UpdateIpConfig(self, ipConfig: IpConfig) -> NoneType: ... + def SelectVnic(self, device: str) -> NoneType: ... + def DeselectVnic(self) -> NoneType: ... + + + class NetConfig(vmodl.DynamicData): + @property + def candidateVnic(self) -> List[VirtualNic]: ... + @property + def selectedVnic(self) -> Link: ... + + +class VirtualNicManager(vim.ExtensibleManagedObject): + @property + def info(self) -> VirtualNicManagerInfo: ... + def QueryNetConfig(self, nicType: str) -> VirtualNicManager.NetConfig: ... + def SelectVnic(self, nicType: str, device: str) -> NoneType: ... + def DeselectVnic(self, nicType: str, device: str) -> NoneType: ... + + + class NicTypeSelection(vmodl.DynamicData): + @property + def vnic(self) -> VirtualNicConnection: ... + @property + def nicType(self) -> List[str]: ... + + + class NicType(Enum): + vmotion = "vmotion" + faultToleranceLogging = "faulttolerancelogging" + vSphereReplication = "vspherereplication" + vSphereReplicationNFC = "vspherereplicationnfc" + management = "management" + vsan = "vsan" + vSphereProvisioning = "vsphereprovisioning" + vsanWitness = "vsanwitness" + vSphereBackupNFC = "vspherebackupnfc" + ptp = "ptp" + vsanReplication = "vsanreplication" + nvmeTcp = "nvmetcp" + nvmeRdma = "nvmerdma" + + +class VsanInternalSystem(ManagedObject): + def QueryCmmds(self, queries: List[VsanInternalSystem.CmmdsQuery]) -> str: ... + def QueryPhysicalVsanDisks(self, props: List[str]) -> str: ... + def QueryVsanObjects(self, uuids: List[str]) -> str: ... + def QueryObjectsOnPhysicalVsanDisk(self, disks: List[str]) -> str: ... + def AbdicateDomOwnership(self, uuids: List[str]) -> List[str]: ... + def QueryVsanStatistics(self, labels: List[str]) -> str: ... + def ReconfigureDomObject(self, uuid: str, policy: str) -> NoneType: ... + def QuerySyncingVsanObjects(self, uuids: List[str]) -> str: ... + def RunVsanPhysicalDiskDiagnostics(self, disks: List[str]) -> List[VsanInternalSystem.VsanPhysicalDiskDiagnosticsResult]: ... + def GetVsanObjExtAttrs(self, uuids: List[str]) -> str: ... + def ReconfigurationSatisfiable(self, pcbs: List[VsanInternalSystem.PolicyChangeBatch], ignoreSatisfiability: bool) -> List[VsanInternalSystem.PolicySatisfiability]: ... + def CanProvisionObjects(self, npbs: List[VsanInternalSystem.NewPolicyBatch], ignoreSatisfiability: bool) -> List[VsanInternalSystem.PolicySatisfiability]: ... + def DeleteVsanObjects(self, uuids: List[str], force: bool) -> List[VsanInternalSystem.DeleteVsanObjectsResult]: ... + def UpgradeVsanObjects(self, uuids: List[str], newVersion: int) -> List[VsanInternalSystem.VsanObjectOperationResult]: ... + def QueryVsanObjectUuidsByFilter(self, uuids: List[str], limit: int, version: int) -> List[str]: ... + + + class CmmdsQuery(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def owner(self) -> str: ... + + + class DeleteVsanObjectsResult(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def success(self) -> bool: ... + @property + def failureReason(self) -> List[vmodl.LocalizableMessage]: ... + + + class NewPolicyBatch(vmodl.DynamicData): + @property + def size(self) -> List[long]: ... + @property + def policy(self) -> str: ... + + + class PolicyChangeBatch(vmodl.DynamicData): + @property + def uuid(self) -> List[str]: ... + @property + def policy(self) -> str: ... + + + class PolicyCost(vmodl.DynamicData): + @property + def changeDataSize(self) -> long: ... + @property + def currentDataSize(self) -> long: ... + @property + def tempDataSize(self) -> long: ... + @property + def copyDataSize(self) -> long: ... + @property + def changeFlashReadCacheSize(self) -> long: ... + @property + def currentFlashReadCacheSize(self) -> long: ... + @property + def currentDiskSpaceToAddressSpaceRatio(self) -> float: ... + @property + def diskSpaceToAddressSpaceRatio(self) -> float: ... + + + class PolicySatisfiability(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def isSatisfiable(self) -> bool: ... + @property + def reason(self) -> vmodl.LocalizableMessage: ... + @property + def cost(self) -> VsanInternalSystem.PolicyCost: ... + + + class VsanObjectOperationResult(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def failureReason(self) -> List[vmodl.LocalizableMessage]: ... + + + class VsanPhysicalDiskDiagnosticsResult(vmodl.DynamicData): + @property + def diskUuid(self) -> str: ... + @property + def success(self) -> bool: ... + @property + def failureReason(self) -> str: ... + + +class VsanSystem(ManagedObject): + @property + def config(self) -> ConfigInfo: ... + def QueryDisksForVsan(self, canonicalName: List[str]) -> List[DiskResult]: ... + def AddDisks(self, disk: List[ScsiDisk]) -> vim.Task: ... + def InitializeDisks(self, mapping: List[DiskMapping]) -> vim.Task: ... + def RemoveDisk(self, disk: List[ScsiDisk], maintenanceSpec: MaintenanceSpec, timeout: int) -> vim.Task: ... + def RemoveDiskMapping(self, mapping: List[DiskMapping], maintenanceSpec: MaintenanceSpec, timeout: int) -> vim.Task: ... + def UnmountDiskMapping(self, mapping: List[DiskMapping]) -> vim.Task: ... + def Update(self, config: ConfigInfo) -> vim.Task: ... + def QueryHostStatus(self) -> ClusterStatus: ... + def EvacuateNode(self, maintenanceSpec: MaintenanceSpec, timeout: int) -> vim.Task: ... + def RecommissionNode(self) -> vim.Task: ... + + +class ActiveDirectoryInfo(DirectoryStoreInfo): + @property + def joinedDomain(self) -> str: ... + @property + def trustedDomain(self) -> List[str]: ... + @property + def domainMembershipStatus(self) -> str: ... + @property + def smartCardAuthenticationEnabled(self) -> bool: ... + + + class DomainMembershipStatus(Enum): + unknown = "unknown" + ok = "ok" + noServers = "noservers" + clientTrustBroken = "clienttrustbroken" + serverTrustBroken = "servertrustbroken" + inconsistentTrust = "inconsistenttrust" + otherProblem = "otherproblem" + + +class ActiveDirectorySpec(vmodl.DynamicData): + @property + def changeOperation(self) -> str: ... + @property + def spec(self) -> ActiveDirectorySpec.Specification: ... + + + class Specification(vmodl.DynamicData): + @property + def domainName(self) -> str: ... + @property + def userName(self) -> str: ... + @property + def password(self) -> str: ... + @property + def camServer(self) -> str: ... + @property + def thumbprint(self) -> str: ... + @property + def smartCardAuthenticationEnabled(self) -> bool: ... + @property + def smartCardTrustAnchors(self) -> List[str]: ... + + +class AssignableHardwareBinding(vmodl.DynamicData): + @property + def instanceId(self) -> str: ... + @property + def vm(self) -> vim.VirtualMachine: ... + + +class AssignableHardwareConfig(vmodl.DynamicData): + @property + def attributeOverride(self) -> List[AssignableHardwareConfig.AttributeOverride]: ... + + + class AttributeOverride(vmodl.DynamicData): + @property + def instanceId(self) -> str: ... + @property + def name(self) -> str: ... + @property + def value(self) -> object: ... + + +class AuthenticationManagerInfo(vmodl.DynamicData): + @property + def authConfig(self) -> List[AuthenticationStoreInfo]: ... + + +class AuthenticationStoreInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + + +class BIOSInfo(vmodl.DynamicData): + @property + def biosVersion(self) -> str: ... + @property + def releaseDate(self) -> datetime: ... + @property + def vendor(self) -> str: ... + @property + def majorRelease(self) -> int: ... + @property + def minorRelease(self) -> int: ... + @property + def firmwareMajorRelease(self) -> int: ... + @property + def firmwareMinorRelease(self) -> int: ... + + +class BlockAdapterTargetTransport(TargetTransport): ... + + +class BlockHba(HostBusAdapter): ... + + +class BootDeviceInfo(vmodl.DynamicData): + @property + def bootDevices(self) -> List[BootDeviceSystem.BootDevice]: ... + @property + def currentBootDeviceKey(self) -> str: ... + + +class Capability(vmodl.DynamicData): + @property + def recursiveResourcePoolsSupported(self) -> bool: ... + @property + def cpuMemoryResourceConfigurationSupported(self) -> bool: ... + @property + def rebootSupported(self) -> bool: ... + @property + def shutdownSupported(self) -> bool: ... + @property + def vmotionSupported(self) -> bool: ... + @property + def standbySupported(self) -> bool: ... + @property + def ipmiSupported(self) -> bool: ... + @property + def maxSupportedVMs(self) -> int: ... + @property + def maxRunningVMs(self) -> int: ... + @property + def maxSupportedVcpus(self) -> int: ... + @property + def maxRegisteredVMs(self) -> int: ... + @property + def datastorePrincipalSupported(self) -> bool: ... + @property + def sanSupported(self) -> bool: ... + @property + def nfsSupported(self) -> bool: ... + @property + def iscsiSupported(self) -> bool: ... + @property + def vlanTaggingSupported(self) -> bool: ... + @property + def nicTeamingSupported(self) -> bool: ... + @property + def highGuestMemSupported(self) -> bool: ... + @property + def maintenanceModeSupported(self) -> bool: ... + @property + def suspendedRelocateSupported(self) -> bool: ... + @property + def restrictedSnapshotRelocateSupported(self) -> bool: ... + @property + def perVmSwapFiles(self) -> bool: ... + @property + def localSwapDatastoreSupported(self) -> bool: ... + @property + def unsharedSwapVMotionSupported(self) -> bool: ... + @property + def backgroundSnapshotsSupported(self) -> bool: ... + @property + def preAssignedPCIUnitNumbersSupported(self) -> bool: ... + @property + def screenshotSupported(self) -> bool: ... + @property + def scaledScreenshotSupported(self) -> bool: ... + @property + def storageVMotionSupported(self) -> bool: ... + @property + def vmotionWithStorageVMotionSupported(self) -> bool: ... + @property + def vmotionAcrossNetworkSupported(self) -> bool: ... + @property + def maxNumDisksSVMotion(self) -> int: ... + @property + def maxVirtualDiskDescVersionSupported(self) -> int: ... + @property + def hbrNicSelectionSupported(self) -> bool: ... + @property + def vrNfcNicSelectionSupported(self) -> bool: ... + @property + def recordReplaySupported(self) -> bool: ... + @property + def ftSupported(self) -> bool: ... + @property + def replayUnsupportedReason(self) -> str: ... + @property + def replayCompatibilityIssues(self) -> List[str]: ... + @property + def smpFtSupported(self) -> bool: ... + @property + def ftCompatibilityIssues(self) -> List[str]: ... + @property + def smpFtCompatibilityIssues(self) -> List[str]: ... + @property + def maxVcpusPerFtVm(self) -> int: ... + @property + def loginBySSLThumbprintSupported(self) -> bool: ... + @property + def cloneFromSnapshotSupported(self) -> bool: ... + @property + def deltaDiskBackingsSupported(self) -> bool: ... + @property + def perVMNetworkTrafficShapingSupported(self) -> bool: ... + @property + def tpmSupported(self) -> bool: ... + @property + def tpmVersion(self) -> str: ... + @property + def txtEnabled(self) -> bool: ... + @property + def supportedCpuFeature(self) -> List[CpuIdInfo]: ... + @property + def virtualExecUsageSupported(self) -> bool: ... + @property + def storageIORMSupported(self) -> bool: ... + @property + def vmDirectPathGen2Supported(self) -> bool: ... + @property + def vmDirectPathGen2UnsupportedReason(self) -> List[str]: ... + @property + def vmDirectPathGen2UnsupportedReasonExtended(self) -> str: ... + @property + def supportedVmfsMajorVersion(self) -> List[int]: ... + @property + def vStorageCapable(self) -> bool: ... + @property + def snapshotRelayoutSupported(self) -> bool: ... + @property + def firewallIpRulesSupported(self) -> bool: ... + @property + def servicePackageInfoSupported(self) -> bool: ... + @property + def maxHostRunningVms(self) -> int: ... + @property + def maxHostSupportedVcpus(self) -> int: ... + @property + def vmfsDatastoreMountCapable(self) -> bool: ... + @property + def eightPlusHostVmfsSharedAccessSupported(self) -> bool: ... + @property + def nestedHVSupported(self) -> bool: ... + @property + def vPMCSupported(self) -> bool: ... + @property + def interVMCommunicationThroughVMCISupported(self) -> bool: ... + @property + def scheduledHardwareUpgradeSupported(self) -> bool: ... + @property + def featureCapabilitiesSupported(self) -> bool: ... + @property + def latencySensitivitySupported(self) -> bool: ... + @property + def storagePolicySupported(self) -> bool: ... + @property + def accel3dSupported(self) -> bool: ... + @property + def reliableMemoryAware(self) -> bool: ... + @property + def multipleNetworkStackInstanceSupported(self) -> bool: ... + @property + def messageBusProxySupported(self) -> bool: ... + @property + def vsanSupported(self) -> bool: ... + @property + def vFlashSupported(self) -> bool: ... + @property + def hostAccessManagerSupported(self) -> bool: ... + @property + def provisioningNicSelectionSupported(self) -> bool: ... + @property + def nfs41Supported(self) -> bool: ... + @property + def nfs41Krb5iSupported(self) -> bool: ... + @property + def turnDiskLocatorLedSupported(self) -> bool: ... + @property + def virtualVolumeDatastoreSupported(self) -> bool: ... + @property + def markAsSsdSupported(self) -> bool: ... + @property + def markAsLocalSupported(self) -> bool: ... + @property + def smartCardAuthenticationSupported(self) -> bool: ... + @property + def pMemSupported(self) -> bool: ... + @property + def pMemSnapshotSupported(self) -> bool: ... + @property + def cryptoSupported(self) -> bool: ... + @property + def oneKVolumeAPIsSupported(self) -> bool: ... + @property + def gatewayOnNicSupported(self) -> bool: ... + @property + def upitSupported(self) -> bool: ... + @property + def cpuHwMmuSupported(self) -> bool: ... + @property + def encryptedVMotionSupported(self) -> bool: ... + @property + def encryptionChangeOnAddRemoveSupported(self) -> bool: ... + @property + def encryptionHotOperationSupported(self) -> bool: ... + @property + def encryptionWithSnapshotsSupported(self) -> bool: ... + @property + def encryptionFaultToleranceSupported(self) -> bool: ... + @property + def encryptionMemorySaveSupported(self) -> bool: ... + @property + def encryptionRDMSupported(self) -> bool: ... + @property + def encryptionVFlashSupported(self) -> bool: ... + @property + def encryptionCBRCSupported(self) -> bool: ... + @property + def encryptionHBRSupported(self) -> bool: ... + @property + def ftEfiSupported(self) -> bool: ... + @property + def unmapMethodSupported(self) -> str: ... + @property + def maxMemMBPerFtVm(self) -> int: ... + @property + def virtualMmuUsageIgnored(self) -> bool: ... + @property + def virtualExecUsageIgnored(self) -> bool: ... + @property + def vmCreateDateSupported(self) -> bool: ... + @property + def vmfs3EOLSupported(self) -> bool: ... + @property + def ftVmcpSupported(self) -> bool: ... + @property + def quickBootSupported(self) -> bool: ... + @property + def encryptedFtSupported(self) -> bool: ... + @property + def assignableHardwareSupported(self) -> bool: ... + @property + def suspendToMemorySupported(self) -> bool: ... + @property + def useFeatureReqsForOldHWv(self) -> bool: ... + @property + def markPerenniallyReservedSupported(self) -> bool: ... + @property + def hppPspSupported(self) -> bool: ... + @property + def deviceRebindWithoutRebootSupported(self) -> bool: ... + @property + def storagePolicyChangeSupported(self) -> bool: ... + @property + def precisionTimeProtocolSupported(self) -> bool: ... + @property + def remoteDeviceVMotionSupported(self) -> bool: ... + @property + def maxSupportedVmMemory(self) -> int: ... + @property + def ahDeviceHintsSupported(self) -> bool: ... + @property + def nvmeOverTcpSupported(self) -> bool: ... + @property + def nvmeStorageFabricServicesSupported(self) -> bool: ... + @property + def assignHwPciConfigSupported(self) -> bool: ... + @property + def timeConfigSupported(self) -> bool: ... + @property + def nvmeBatchOperationsSupported(self) -> bool: ... + @property + def pMemFailoverSupported(self) -> bool: ... + @property + def hostConfigEncryptionSupported(self) -> bool: ... + @property + def maxSupportedSimultaneousThreads(self) -> int: ... + @property + def ptpConfigSupported(self) -> bool: ... + @property + def maxSupportedPtpPorts(self) -> int: ... + @property + def sgxRegistrationSupported(self) -> bool: ... + @property + def pMemIndependentSnapshotSupported(self) -> bool: ... + @property + def iommuSLDirtyCapable(self) -> bool: ... + @property + def vmknicBindingSupported(self) -> bool: ... + @property + def ultralowFixedUnmapSupported(self) -> bool: ... + @property + def nvmeVvolSupported(self) -> bool: ... + @property + def fptHotplugSupported(self) -> bool: ... + @property + def mconnectSupported(self) -> bool: ... + + + class FtUnsupportedReason(Enum): + vMotionNotLicensed = "vmotionnotlicensed" + missingVMotionNic = "missingvmotionnic" + missingFTLoggingNic = "missingftloggingnic" + ftNotLicensed = "ftnotlicensed" + haAgentIssue = "haagentissue" + unsupportedProduct = "unsupportedproduct" + cpuHvUnsupported = "cpuhvunsupported" + cpuHwmmuUnsupported = "cpuhwmmuunsupported" + cpuHvDisabled = "cpuhvdisabled" + + + class ReplayUnsupportedReason(Enum): + incompatibleProduct = "incompatibleproduct" + incompatibleCpu = "incompatiblecpu" + hvDisabled = "hvdisabled" + cpuidLimitSet = "cpuidlimitset" + oldBIOS = "oldbios" + unknown = "unknown" + + + class UnmapMethodSupported(Enum): + priority = "priority" + fixed = "fixed" + dynamic = "dynamic" + + + class VmDirectPathGen2UnsupportedReason(Enum): + hostNptIncompatibleProduct = "hostnptincompatibleproduct" + hostNptIncompatibleHardware = "hostnptincompatiblehardware" + hostNptDisabled = "hostnptdisabled" + + +class ConfigChange(vmodl.DynamicData): + + + class Mode(Enum): + modify = "modify" + replace = "replace" + + + class Operation(Enum): + add = "add" + remove = "remove" + edit = "edit" + ignore = "ignore" + + +class ConfigInfo(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def product(self) -> vim.AboutInfo: ... + @property + def deploymentInfo(self) -> DeploymentInfo: ... + @property + def hyperThread(self) -> CpuSchedulerSystem.HyperThreadScheduleInfo: ... + @property + def consoleReservation(self) -> MemoryManagerSystem.ServiceConsoleReservationInfo: ... + @property + def virtualMachineReservation(self) -> MemoryManagerSystem.VirtualMachineReservationInfo: ... + @property + def storageDevice(self) -> StorageDeviceInfo: ... + @property + def multipathState(self) -> MultipathStateInfo: ... + @property + def fileSystemVolume(self) -> FileSystemVolumeInfo: ... + @property + def systemFile(self) -> List[str]: ... + @property + def network(self) -> NetworkInfo: ... + @property + def vmotion(self) -> VMotionInfo: ... + @property + def virtualNicManagerInfo(self) -> VirtualNicManagerInfo: ... + @property + def capabilities(self) -> NetCapabilities: ... + @property + def datastoreCapabilities(self) -> DatastoreSystem.Capabilities: ... + @property + def offloadCapabilities(self) -> NetOffloadCapabilities: ... + @property + def service(self) -> ServiceInfo: ... + @property + def firewall(self) -> FirewallInfo: ... + @property + def autoStart(self) -> AutoStartManager.Config: ... + @property + def activeDiagnosticPartition(self) -> DiagnosticPartition: ... + @property + def option(self) -> List[vim.option.OptionValue]: ... + @property + def optionDef(self) -> List[vim.option.OptionDef]: ... + @property + def datastorePrincipal(self) -> str: ... + @property + def localSwapDatastore(self) -> vim.Datastore: ... + @property + def systemSwapConfiguration(self) -> SystemSwapConfiguration: ... + @property + def systemResources(self) -> SystemResourceInfo: ... + @property + def dateTimeInfo(self) -> DateTimeInfo: ... + @property + def flags(self) -> FlagInfo: ... + @property + def adminDisabled(self) -> bool: ... + @property + def lockdownMode(self) -> HostAccessManager.LockdownMode: ... + @property + def ipmi(self) -> IpmiInfo: ... + @property + def sslThumbprintInfo(self) -> SslThumbprintInfo: ... + @property + def sslThumbprintData(self) -> List[SslThumbprintInfo]: ... + @property + def certificate(self) -> List[byte]: ... + @property + def pciPassthruInfo(self) -> List[PciPassthruInfo]: ... + @property + def authenticationManagerInfo(self) -> AuthenticationManagerInfo: ... + @property + def featureVersion(self) -> List[FeatureVersionInfo]: ... + @property + def powerSystemCapability(self) -> PowerSystem.Capability: ... + @property + def powerSystemInfo(self) -> PowerSystem.Info: ... + @property + def cacheConfigurationInfo(self) -> List[CacheConfigurationManager.CacheConfigurationInfo]: ... + @property + def wakeOnLanCapable(self) -> bool: ... + @property + def featureCapability(self) -> List[FeatureCapability]: ... + @property + def maskedFeatureCapability(self) -> List[FeatureCapability]: ... + @property + def vFlashConfigInfo(self) -> VFlashManager.VFlashConfigInfo: ... + @property + def vsanHostConfig(self) -> ConfigInfo: ... + @property + def domainList(self) -> List[str]: ... + @property + def scriptCheckSum(self) -> binary: ... + @property + def hostConfigCheckSum(self) -> binary: ... + @property + def descriptionTreeCheckSum(self) -> binary: ... + @property + def graphicsInfo(self) -> List[GraphicsInfo]: ... + @property + def sharedPassthruGpuTypes(self) -> List[str]: ... + @property + def graphicsConfig(self) -> GraphicsConfig: ... + @property + def sharedGpuCapabilities(self) -> List[SharedGpuCapabilities]: ... + @property + def ioFilterInfo(self) -> List[vim.IoFilterManager.HostIoFilterInfo]: ... + @property + def sriovDevicePool(self) -> List[SriovDevicePoolInfo]: ... + @property + def assignableHardwareBinding(self) -> List[AssignableHardwareBinding]: ... + @property + def assignableHardwareConfig(self) -> AssignableHardwareConfig: ... + + +class ConfigManager(vmodl.DynamicData): + @property + def cpuScheduler(self) -> CpuSchedulerSystem: ... + @property + def datastoreSystem(self) -> DatastoreSystem: ... + @property + def memoryManager(self) -> MemoryManagerSystem: ... + @property + def storageSystem(self) -> StorageSystem: ... + @property + def networkSystem(self) -> NetworkSystem: ... + @property + def vmotionSystem(self) -> VMotionSystem: ... + @property + def virtualNicManager(self) -> VirtualNicManager: ... + @property + def serviceSystem(self) -> ServiceSystem: ... + @property + def firewallSystem(self) -> FirewallSystem: ... + @property + def advancedOption(self) -> vim.option.OptionManager: ... + @property + def diagnosticSystem(self) -> DiagnosticSystem: ... + @property + def autoStartManager(self) -> AutoStartManager: ... + @property + def snmpSystem(self) -> SnmpSystem: ... + @property + def dateTimeSystem(self) -> DateTimeSystem: ... + @property + def patchManager(self) -> PatchManager: ... + @property + def imageConfigManager(self) -> ImageConfigManager: ... + @property + def bootDeviceSystem(self) -> BootDeviceSystem: ... + @property + def firmwareSystem(self) -> FirmwareSystem: ... + @property + def healthStatusSystem(self) -> HealthStatusSystem: ... + @property + def pciPassthruSystem(self) -> PciPassthruSystem: ... + @property + def licenseManager(self) -> vim.LicenseManager: ... + @property + def kernelModuleSystem(self) -> KernelModuleSystem: ... + @property + def authenticationManager(self) -> AuthenticationManager: ... + @property + def powerSystem(self) -> PowerSystem: ... + @property + def cacheConfigurationManager(self) -> CacheConfigurationManager: ... + @property + def esxAgentHostManager(self) -> EsxAgentHostManager: ... + @property + def iscsiManager(self) -> IscsiManager: ... + @property + def vFlashManager(self) -> VFlashManager: ... + @property + def vsanSystem(self) -> VsanSystem: ... + @property + def messageBusProxy(self) -> MessageBusProxy: ... + @property + def userDirectory(self) -> vim.UserDirectory: ... + @property + def accountManager(self) -> LocalAccountManager: ... + @property + def hostAccessManager(self) -> HostAccessManager: ... + @property + def graphicsManager(self) -> GraphicsManager: ... + @property + def vsanInternalSystem(self) -> VsanInternalSystem: ... + @property + def certificateManager(self) -> CertificateManager: ... + @property + def cryptoManager(self) -> vim.encryption.CryptoManager: ... + @property + def nvdimmSystem(self) -> NvdimmSystem: ... + @property + def assignableHardwareManager(self) -> AssignableHardwareManager: ... + + +class ConfigSpec(vmodl.DynamicData): + @property + def nasDatastore(self) -> List[NasVolume.Config]: ... + @property + def network(self) -> NetworkConfig: ... + @property + def nicTypeSelection(self) -> List[VirtualNicManager.NicTypeSelection]: ... + @property + def service(self) -> List[ServiceConfig]: ... + @property + def firewall(self) -> FirewallConfig: ... + @property + def option(self) -> List[vim.option.OptionValue]: ... + @property + def datastorePrincipal(self) -> str: ... + @property + def datastorePrincipalPasswd(self) -> str: ... + @property + def datetime(self) -> DateTimeConfig: ... + @property + def storageDevice(self) -> StorageDeviceInfo: ... + @property + def license(self) -> LicenseSpec: ... + @property + def security(self) -> SecuritySpec: ... + @property + def userAccount(self) -> List[LocalAccountManager.AccountSpecification]: ... + @property + def usergroupAccount(self) -> List[LocalAccountManager.AccountSpecification]: ... + @property + def memory(self) -> MemorySpec: ... + @property + def activeDirectory(self) -> List[ActiveDirectorySpec]: ... + @property + def genericConfig(self) -> List[vmodl.KeyAnyValue]: ... + @property + def graphicsConfig(self) -> GraphicsConfig: ... + @property + def assignableHardwareConfig(self) -> AssignableHardwareConfig: ... + + +class ConnectInfo(vmodl.DynamicData): + @property + def serverIp(self) -> str: ... + @property + def inDasCluster(self) -> bool: ... + @property + def host(self) -> Summary: ... + @property + def vm(self) -> List[vim.vm.Summary]: ... + @property + def vimAccountNameRequired(self) -> bool: ... + @property + def clusterSupported(self) -> bool: ... + @property + def network(self) -> List[ConnectInfo.NetworkInfo]: ... + @property + def datastore(self) -> List[ConnectInfo.DatastoreInfo]: ... + @property + def license(self) -> ConnectInfo.LicenseInfo: ... + @property + def capability(self) -> Capability: ... + + + class DatastoreExistsInfo(ConnectInfo.DatastoreInfo): + @property + def newDatastoreName(self) -> str: ... + + + class DatastoreInfo(vmodl.DynamicData): + @property + def summary(self) -> vim.Datastore.Summary: ... + + + class DatastoreNameConflictInfo(ConnectInfo.DatastoreInfo): + @property + def newDatastoreName(self) -> str: ... + + + class LicenseInfo(vmodl.DynamicData): + @property + def license(self) -> vim.LicenseManager.LicenseInfo: ... + @property + def evaluation(self) -> vim.LicenseManager.EvaluationInfo: ... + @property + def resource(self) -> vim.LicenseManager.LicensableResourceInfo: ... + + + class NetworkInfo(vmodl.DynamicData): + @property + def summary(self) -> vim.Network.Summary: ... + + + class NewNetworkInfo(ConnectInfo.NetworkInfo): ... + + +class ConnectSpec(vmodl.DynamicData): + @property + def hostName(self) -> str: ... + @property + def port(self) -> int: ... + @property + def sslThumbprint(self) -> str: ... + @property + def userName(self) -> str: ... + @property + def password(self) -> str: ... + @property + def vmFolder(self) -> vim.Folder: ... + @property + def force(self) -> bool: ... + @property + def vimAccountName(self) -> str: ... + @property + def vimAccountPassword(self) -> str: ... + @property + def managementIp(self) -> str: ... + @property + def lockdownMode(self) -> HostAccessManager.LockdownMode: ... + @property + def hostGateway(self) -> GatewaySpec: ... + + +class CpuIdInfo(vmodl.DynamicData): + @property + def level(self) -> int: ... + @property + def vendor(self) -> str: ... + @property + def eax(self) -> str: ... + @property + def ebx(self) -> str: ... + @property + def ecx(self) -> str: ... + @property + def edx(self) -> str: ... + + +class CpuInfo(vmodl.DynamicData): + @property + def numCpuPackages(self) -> short: ... + @property + def numCpuCores(self) -> short: ... + @property + def numCpuThreads(self) -> short: ... + @property + def hz(self) -> long: ... + + +class CpuPackage(vmodl.DynamicData): + @property + def index(self) -> short: ... + @property + def vendor(self) -> str: ... + @property + def hz(self) -> long: ... + @property + def busHz(self) -> long: ... + @property + def description(self) -> str: ... + @property + def threadId(self) -> List[short]: ... + @property + def cpuFeature(self) -> List[CpuIdInfo]: ... + + + class Vendor(Enum): + unknown = "unknown" + intel = "intel" + amd = "amd" + hygon = "hygon" + arm = "arm" + + +class CpuPowerManagementInfo(vmodl.DynamicData): + @property + def currentPolicy(self) -> str: ... + @property + def hardwareSupport(self) -> str: ... + + + class PolicyType(Enum): + off = "off" + staticPolicy = "staticpolicy" + dynamicPolicy = "dynamicpolicy" + + +class DataTransportConnectionInfo(vmodl.DynamicData): + @property + def staticMemoryConsumed(self) -> long: ... + + +class DateTimeConfig(vmodl.DynamicData): + @property + def timeZone(self) -> str: ... + @property + def ntpConfig(self) -> NtpConfig: ... + @property + def ptpConfig(self) -> PtpConfig: ... + @property + def protocol(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def disableEvents(self) -> bool: ... + @property + def disableFallback(self) -> bool: ... + @property + def resetToFactoryDefaults(self) -> bool: ... + + +class DateTimeInfo(vmodl.DynamicData): + @property + def timeZone(self) -> DateTimeSystem.TimeZone: ... + @property + def systemClockProtocol(self) -> str: ... + @property + def ntpConfig(self) -> NtpConfig: ... + @property + def ptpConfig(self) -> PtpConfig: ... + @property + def enabled(self) -> bool: ... + @property + def disableEvents(self) -> bool: ... + @property + def disableFallback(self) -> bool: ... + @property + def inFallbackState(self) -> bool: ... + @property + def serviceSync(self) -> bool: ... + @property + def lastSyncTime(self) -> datetime: ... + @property + def remoteNtpServer(self) -> str: ... + @property + def ntpRunTime(self) -> long: ... + @property + def ptpRunTime(self) -> long: ... + @property + def ntpDuration(self) -> str: ... + @property + def ptpDuration(self) -> str: ... + + + class Protocol(Enum): + ntp = "ntp" + ptp = "ptp" + + +class DeploymentInfo(vmodl.DynamicData): + @property + def bootedFromStatelessCache(self) -> bool: ... + + +class Device(vmodl.DynamicData): + @property + def deviceName(self) -> str: ... + @property + def deviceType(self) -> str: ... + + +class DhcpService(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def spec(self) -> DhcpService.Specification: ... + + +class DiagnosticPartition(vmodl.DynamicData): + @property + def storageType(self) -> str: ... + @property + def diagnosticType(self) -> str: ... + @property + def slots(self) -> int: ... + @property + def id(self) -> ScsiDisk.Partition: ... + + + class CreateDescription(vmodl.DynamicData): + @property + def layout(self) -> DiskPartitionInfo.Layout: ... + @property + def diskUuid(self) -> str: ... + @property + def spec(self) -> DiagnosticPartition.CreateSpec: ... + + + class CreateOption(vmodl.DynamicData): + @property + def storageType(self) -> str: ... + @property + def diagnosticType(self) -> str: ... + @property + def disk(self) -> ScsiDisk: ... + + + class CreateSpec(vmodl.DynamicData): + @property + def storageType(self) -> str: ... + @property + def diagnosticType(self) -> str: ... + @property + def id(self) -> ScsiDisk.Partition: ... + @property + def partition(self) -> DiskPartitionInfo.Specification: ... + @property + def active(self) -> bool: ... + + + class DiagnosticType(Enum): + singleHost = "singlehost" + multiHost = "multihost" + + + class StorageType(Enum): + directAttached = "directattached" + networkAttached = "networkattached" + + +class DigestInfo(vmodl.DynamicData): + @property + def digestMethod(self) -> str: ... + @property + def digestValue(self) -> List[byte]: ... + @property + def objectName(self) -> str: ... + + + class DigestMethodType(Enum): + SHA1 = "sha1" + MD5 = "md5" + SHA256 = "sha256" + SHA384 = "sha384" + SHA512 = "sha512" + SM3_256 = "sm3_256" + + +class DirectoryStoreInfo(AuthenticationStoreInfo): ... + + +class DiskConfigurationResult(vmodl.DynamicData): + @property + def devicePath(self) -> str: ... + @property + def success(self) -> bool: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class DiskDimensions(vmodl.DynamicData): + + + class Chs(vmodl.DynamicData): + @property + def cylinder(self) -> long: ... + @property + def head(self) -> int: ... + @property + def sector(self) -> int: ... + + + class Lba(vmodl.DynamicData): + @property + def blockSize(self) -> int: ... + @property + def block(self) -> long: ... + + +class DiskPartitionInfo(vmodl.DynamicData): + @property + def deviceName(self) -> str: ... + @property + def spec(self) -> DiskPartitionInfo.Specification: ... + @property + def layout(self) -> DiskPartitionInfo.Layout: ... + + + class BlockRange(vmodl.DynamicData): + @property + def partition(self) -> int: ... + @property + def type(self) -> str: ... + @property + def start(self) -> DiskDimensions.Lba: ... + @property + def end(self) -> DiskDimensions.Lba: ... + + + class Layout(vmodl.DynamicData): + @property + def total(self) -> DiskDimensions.Lba: ... + @property + def partition(self) -> List[DiskPartitionInfo.BlockRange]: ... + + + class Partition(vmodl.DynamicData): + @property + def partition(self) -> int: ... + @property + def startSector(self) -> long: ... + @property + def endSector(self) -> long: ... + @property + def type(self) -> str: ... + @property + def guid(self) -> str: ... + @property + def logical(self) -> bool: ... + @property + def attributes(self) -> byte: ... + @property + def partitionAlignment(self) -> long: ... + + + class PartitionFormat(Enum): + gpt = "gpt" + mbr = "mbr" + unknown = "unknown" + + + class Type(Enum): + none = "none" + vmfs = "vmfs" + linuxNative = "linuxnative" + linuxSwap = "linuxswap" + extended = "extended" + ntfs = "ntfs" + vmkDiagnostic = "vmkdiagnostic" + vffs = "vffs" + + +class DnsConfig(vmodl.DynamicData): + @property + def dhcp(self) -> bool: ... + @property + def virtualNicDevice(self) -> str: ... + @property + def ipv6VirtualNicDevice(self) -> str: ... + @property + def hostName(self) -> str: ... + @property + def domainName(self) -> str: ... + @property + def address(self) -> List[str]: ... + @property + def searchDomain(self) -> List[str]: ... + + +class DnsConfigSpec(DnsConfig): + @property + def virtualNicConnection(self) -> VirtualNicConnection: ... + @property + def virtualNicConnectionV6(self) -> VirtualNicConnection: ... + + +class DvxClass(vmodl.DynamicData): + @property + def deviceClass(self) -> str: ... + @property + def checkpointSupported(self) -> bool: ... + @property + def swDMATracingSupported(self) -> bool: ... + @property + def sriovNic(self) -> bool: ... + + +class EnterMaintenanceResult(vmodl.DynamicData): + @property + def vmFaults(self) -> List[vim.FaultsByVM]: ... + @property + def hostFaults(self) -> List[vim.FaultsByHost]: ... + + +class ComponentHealthInfo(vmodl.DynamicData): + @property + def isStorageHealthy(self) -> bool: ... + @property + def isNetworkHealthy(self) -> bool: ... + + +class FcoeConfig(vmodl.DynamicData): + @property + def priorityClass(self) -> int: ... + @property + def sourceMac(self) -> str: ... + @property + def vlanRange(self) -> List[FcoeConfig.VlanRange]: ... + @property + def capabilities(self) -> FcoeConfig.FcoeCapabilities: ... + @property + def fcoeActive(self) -> bool: ... + + + class FcoeCapabilities(vmodl.DynamicData): + @property + def priorityClass(self) -> bool: ... + @property + def sourceMacAddress(self) -> bool: ... + @property + def vlanRange(self) -> bool: ... + + + class FcoeSpecification(vmodl.DynamicData): + @property + def underlyingPnic(self) -> str: ... + @property + def priorityClass(self) -> int: ... + @property + def sourceMac(self) -> str: ... + @property + def vlanRange(self) -> List[FcoeConfig.VlanRange]: ... + + + class VlanRange(vmodl.DynamicData): + @property + def vlanLow(self) -> int: ... + @property + def vlanHigh(self) -> int: ... + + +class FeatureCapability(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def featureName(self) -> str: ... + @property + def value(self) -> str: ... + + +class FeatureMask(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def featureName(self) -> str: ... + @property + def value(self) -> str: ... + + +class FeatureVersionInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> str: ... + + + class FeatureVersionKey(Enum): + faultTolerance = "faulttolerance" + + +class FibreChannelHba(HostBusAdapter): + @property + def portWorldWideName(self) -> long: ... + @property + def nodeWorldWideName(self) -> long: ... + @property + def portType(self) -> FibreChannelHba.PortType: ... + @property + def speed(self) -> long: ... + + + class PortType(Enum): + fabric = "fabric" + loop = "loop" + pointToPoint = "pointtopoint" + unknown = "unknown" + + +class FibreChannelOverEthernetHba(FibreChannelHba): + @property + def underlyingNic(self) -> str: ... + @property + def linkInfo(self) -> FibreChannelOverEthernetHba.LinkInfo: ... + @property + def isSoftwareFcoe(self) -> bool: ... + @property + def markedForRemoval(self) -> bool: ... + + + class LinkInfo(vmodl.DynamicData): + @property + def vnportMac(self) -> str: ... + @property + def fcfMac(self) -> str: ... + @property + def vlanId(self) -> int: ... + + +class FibreChannelOverEthernetTargetTransport(FibreChannelTargetTransport): + @property + def vnportMac(self) -> str: ... + @property + def fcfMac(self) -> str: ... + @property + def vlanId(self) -> int: ... + + +class FibreChannelTargetTransport(TargetTransport): + @property + def portWorldWideName(self) -> long: ... + @property + def nodeWorldWideName(self) -> long: ... + + +class FileAccess(vmodl.DynamicData): + @property + def who(self) -> str: ... + @property + def what(self) -> str: ... + + + class Modes(vmodl.DynamicData): + @property + def browse(self) -> str: ... + @property + def read(self) -> str: ... + @property + def modify(self) -> str: ... + @property + def use(self) -> str: ... + @property + def admin(self) -> str: ... + @property + def full(self) -> str: ... + + +class FileSystemMountInfo(vmodl.DynamicData): + @property + def mountInfo(self) -> MountInfo: ... + @property + def volume(self) -> FileSystemVolume: ... + @property + def vStorageSupport(self) -> str: ... + + + class VStorageSupportStatus(Enum): + vStorageSupported = "vstoragesupported" + vStorageUnsupported = "vstorageunsupported" + vStorageUnknown = "vstorageunknown" + + +class FileSystemVolume(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def name(self) -> str: ... + @property + def capacity(self) -> long: ... + + + class FileSystemType(Enum): + VMFS = "vmfs" + NFS = "nfs" + NFS41 = "nfs41" + CIFS = "cifs" + vsan = "vsan" + VFFS = "vffs" + VVOL = "vvol" + PMEM = "pmem" + vsanD = "vsand" + OTHER = "other" + + +class FileSystemVolumeInfo(vmodl.DynamicData): + @property + def volumeTypeList(self) -> List[str]: ... + @property + def mountInfo(self) -> List[FileSystemMountInfo]: ... + + +class FirewallConfig(vmodl.DynamicData): + @property + def rule(self) -> List[FirewallConfig.RuleSetConfig]: ... + @property + def defaultBlockingPolicy(self) -> FirewallInfo.DefaultPolicy: ... + + + class RuleSetConfig(vmodl.DynamicData): + @property + def rulesetId(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def allowedHosts(self) -> Ruleset.IpList: ... + + +class FirewallInfo(vmodl.DynamicData): + @property + def defaultPolicy(self) -> FirewallInfo.DefaultPolicy: ... + @property + def ruleset(self) -> List[Ruleset]: ... + + + class DefaultPolicy(vmodl.DynamicData): + @property + def incomingBlocked(self) -> bool: ... + @property + def outgoingBlocked(self) -> bool: ... + + +class FlagInfo(vmodl.DynamicData): + @property + def backgroundSnapshotsEnabled(self) -> bool: ... + + +class ForceMountedInfo(vmodl.DynamicData): + @property + def persist(self) -> bool: ... + @property + def mounted(self) -> bool: ... + + +class Fru(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def partName(self) -> str: ... + @property + def partNumber(self) -> str: ... + @property + def manufacturer(self) -> str: ... + @property + def serialNumber(self) -> str: ... + @property + def mfgTimeStamp(self) -> datetime: ... + + + class FruType(Enum): + undefined = "undefined" + board = "board" + product = "product" + + +class GatewaySpec(vmodl.DynamicData): + @property + def gatewayType(self) -> str: ... + @property + def gatewayId(self) -> str: ... + @property + def trustVerificationToken(self) -> str: ... + @property + def hostAuthParams(self) -> List[vim.KeyValue]: ... + + +class GraphicsConfig(vmodl.DynamicData): + @property + def hostDefaultGraphicsType(self) -> str: ... + @property + def sharedPassthruAssignmentPolicy(self) -> str: ... + @property + def deviceType(self) -> List[GraphicsConfig.DeviceType]: ... + + + class DeviceType(vmodl.DynamicData): + @property + def deviceId(self) -> str: ... + @property + def graphicsType(self) -> str: ... + + + class GraphicsType(Enum): + shared = "shared" + sharedDirect = "shareddirect" + + + class SharedPassthruAssignmentPolicy(Enum): + performance = "performance" + consolidation = "consolidation" + + +class GraphicsInfo(vmodl.DynamicData): + @property + def deviceName(self) -> str: ... + @property + def vendorName(self) -> str: ... + @property + def pciId(self) -> str: ... + @property + def graphicsType(self) -> str: ... + @property + def memorySizeInKB(self) -> long: ... + @property + def vm(self) -> List[vim.VirtualMachine]: ... + + +class HardwareInfo(vmodl.DynamicData): + @property + def systemInfo(self) -> SystemInfo: ... + @property + def cpuPowerManagementInfo(self) -> CpuPowerManagementInfo: ... + @property + def cpuInfo(self) -> CpuInfo: ... + @property + def cpuPkg(self) -> List[CpuPackage]: ... + @property + def memorySize(self) -> long: ... + @property + def numaInfo(self) -> NumaInfo: ... + @property + def smcPresent(self) -> bool: ... + @property + def pciDevice(self) -> List[PciDevice]: ... + @property + def dvxClasses(self) -> List[DvxClass]: ... + @property + def cpuFeature(self) -> List[CpuIdInfo]: ... + @property + def biosInfo(self) -> BIOSInfo: ... + @property + def reliableMemoryInfo(self) -> ReliableMemoryInfo: ... + @property + def persistentMemoryInfo(self) -> PersistentMemoryInfo: ... + @property + def sgxInfo(self) -> SgxInfo: ... + @property + def sevInfo(self) -> SevInfo: ... + @property + def memoryTieringType(self) -> str: ... + @property + def memoryTierInfo(self) -> List[MemoryTierInfo]: ... + + +class HardwareStatusInfo(vmodl.DynamicData): + @property + def memoryStatusInfo(self) -> List[HardwareStatusInfo.HardwareElementInfo]: ... + @property + def cpuStatusInfo(self) -> List[HardwareStatusInfo.HardwareElementInfo]: ... + @property + def storageStatusInfo(self) -> List[HardwareStatusInfo.StorageStatusInfo]: ... + @property + def dpuStatusInfo(self) -> List[HardwareStatusInfo.DpuStatusInfo]: ... + + + class DpuStatusInfo(HardwareStatusInfo.HardwareElementInfo): + @property + def dpuId(self) -> str: ... + @property + def fru(self) -> Fru: ... + @property + def sensors(self) -> List[HardwareStatusInfo.DpuStatusInfo.OperationalInfo]: ... + + + class OperationalInfo(vmodl.DynamicData): + @property + def sensorId(self) -> str: ... + @property + def healthState(self) -> vim.ElementDescription: ... + @property + def reading(self) -> str: ... + @property + def units(self) -> str: ... + @property + def timeStamp(self) -> datetime: ... + + + class HardwareElementInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def status(self) -> vim.ElementDescription: ... + + + class StorageStatusInfo(HardwareStatusInfo.HardwareElementInfo): + @property + def operationalInfo(self) -> List[HardwareStatusInfo.StorageStatusInfo.OperationalInfo]: ... + + + class Status(Enum): + Unknown = "unknown" + Green = "green" + Yellow = "yellow" + Red = "red" + + +class HbaCreateSpec(vmodl.DynamicData): ... + + +class HostBusAdapter(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def device(self) -> str: ... + @property + def bus(self) -> int: ... + @property + def status(self) -> str: ... + @property + def model(self) -> str: ... + @property + def driver(self) -> str: ... + @property + def pci(self) -> str: ... + @property + def storageProtocol(self) -> str: ... + + +class HostProxySwitch(vmodl.DynamicData): + @property + def dvsUuid(self) -> str: ... + @property + def dvsName(self) -> str: ... + @property + def key(self) -> str: ... + @property + def numPorts(self) -> int: ... + @property + def configNumPorts(self) -> int: ... + @property + def numPortsAvailable(self) -> int: ... + @property + def uplinkPort(self) -> List[vim.KeyValue]: ... + @property + def mtu(self) -> int: ... + @property + def pnic(self) -> List[Link]: ... + @property + def spec(self) -> HostProxySwitch.Specification: ... + @property + def hostLag(self) -> List[HostProxySwitch.HostLagConfig]: ... + @property + def networkReservationSupported(self) -> bool: ... + @property + def nsxtEnabled(self) -> bool: ... + @property + def ensEnabled(self) -> bool: ... + @property + def ensInterruptEnabled(self) -> bool: ... + @property + def transportZones(self) -> List[vim.dvs.HostMember.TransportZoneInfo]: ... + @property + def nsxUsedUplinkPort(self) -> List[str]: ... + @property + def nsxtStatus(self) -> str: ... + @property + def nsxtStatusDetail(self) -> str: ... + @property + def ensInfo(self) -> HostProxySwitch.EnsInfo: ... + @property + def networkOffloadingEnabled(self) -> bool: ... + + + class EnsInfo(vmodl.DynamicData): + @property + def opsVersion(self) -> long: ... + @property + def numPSOps(self) -> long: ... + @property + def numLcoreOps(self) -> long: ... + @property + def errorStatus(self) -> long: ... + @property + def lcoreStatus(self) -> long: ... + + + class HostLagConfig(vmodl.DynamicData): + @property + def lagKey(self) -> str: ... + @property + def lagName(self) -> str: ... + @property + def uplinkPort(self) -> List[vim.KeyValue]: ... + + +class InternetScsiHba(HostBusAdapter): + @property + def isSoftwareBased(self) -> bool: ... + @property + def canBeDisabled(self) -> bool: ... + @property + def networkBindingSupport(self) -> InternetScsiHba.NetworkBindingSupportType: ... + @property + def discoveryCapabilities(self) -> InternetScsiHba.DiscoveryCapabilities: ... + @property + def discoveryProperties(self) -> InternetScsiHba.DiscoveryProperties: ... + @property + def authenticationCapabilities(self) -> InternetScsiHba.AuthenticationCapabilities: ... + @property + def authenticationProperties(self) -> InternetScsiHba.AuthenticationProperties: ... + @property + def digestCapabilities(self) -> InternetScsiHba.DigestCapabilities: ... + @property + def digestProperties(self) -> InternetScsiHba.DigestProperties: ... + @property + def ipCapabilities(self) -> InternetScsiHba.IPCapabilities: ... + @property + def ipProperties(self) -> InternetScsiHba.IPProperties: ... + @property + def supportedAdvancedOptions(self) -> List[vim.option.OptionDef]: ... + @property + def advancedOptions(self) -> List[InternetScsiHba.ParamValue]: ... + @property + def iScsiName(self) -> str: ... + @property + def iScsiAlias(self) -> str: ... + @property + def configuredSendTarget(self) -> List[InternetScsiHba.SendTarget]: ... + @property + def configuredStaticTarget(self) -> List[InternetScsiHba.StaticTarget]: ... + @property + def maxSpeedMb(self) -> int: ... + @property + def currentSpeedMb(self) -> int: ... + + + class AuthenticationCapabilities(vmodl.DynamicData): + @property + def chapAuthSettable(self) -> bool: ... + @property + def krb5AuthSettable(self) -> bool: ... + @property + def srpAuthSettable(self) -> bool: ... + @property + def spkmAuthSettable(self) -> bool: ... + @property + def mutualChapSettable(self) -> bool: ... + @property + def targetChapSettable(self) -> bool: ... + @property + def targetMutualChapSettable(self) -> bool: ... + + + class AuthenticationProperties(vmodl.DynamicData): + @property + def chapAuthEnabled(self) -> bool: ... + @property + def chapName(self) -> str: ... + @property + def chapSecret(self) -> str: ... + @property + def chapAuthenticationType(self) -> str: ... + @property + def chapInherited(self) -> bool: ... + @property + def mutualChapName(self) -> str: ... + @property + def mutualChapSecret(self) -> str: ... + @property + def mutualChapAuthenticationType(self) -> str: ... + @property + def mutualChapInherited(self) -> bool: ... + + + class DigestCapabilities(vmodl.DynamicData): + @property + def headerDigestSettable(self) -> bool: ... + @property + def dataDigestSettable(self) -> bool: ... + @property + def targetHeaderDigestSettable(self) -> bool: ... + @property + def targetDataDigestSettable(self) -> bool: ... + + + class DigestProperties(vmodl.DynamicData): + @property + def headerDigestType(self) -> str: ... + @property + def headerDigestInherited(self) -> bool: ... + @property + def dataDigestType(self) -> str: ... + @property + def dataDigestInherited(self) -> bool: ... + + + class DiscoveryCapabilities(vmodl.DynamicData): + @property + def iSnsDiscoverySettable(self) -> bool: ... + @property + def slpDiscoverySettable(self) -> bool: ... + @property + def staticTargetDiscoverySettable(self) -> bool: ... + @property + def sendTargetsDiscoverySettable(self) -> bool: ... + + + class DiscoveryProperties(vmodl.DynamicData): + @property + def iSnsDiscoveryEnabled(self) -> bool: ... + @property + def iSnsDiscoveryMethod(self) -> str: ... + @property + def iSnsHost(self) -> str: ... + @property + def slpDiscoveryEnabled(self) -> bool: ... + @property + def slpDiscoveryMethod(self) -> str: ... + @property + def slpHost(self) -> str: ... + @property + def staticTargetDiscoveryEnabled(self) -> bool: ... + @property + def sendTargetsDiscoveryEnabled(self) -> bool: ... + + + class ISnsDiscoveryMethod(Enum): + isnsStatic = "isnsstatic" + isnsDhcp = "isnsdhcp" + isnsSlp = "isnsslp" + + + class SlpDiscoveryMethod(Enum): + slpDhcp = "slpdhcp" + slpAutoUnicast = "slpautounicast" + slpAutoMulticast = "slpautomulticast" + slpManual = "slpmanual" + + + class IPCapabilities(vmodl.DynamicData): + @property + def addressSettable(self) -> bool: ... + @property + def ipConfigurationMethodSettable(self) -> bool: ... + @property + def subnetMaskSettable(self) -> bool: ... + @property + def defaultGatewaySettable(self) -> bool: ... + @property + def primaryDnsServerAddressSettable(self) -> bool: ... + @property + def alternateDnsServerAddressSettable(self) -> bool: ... + @property + def ipv6Supported(self) -> bool: ... + @property + def arpRedirectSettable(self) -> bool: ... + @property + def mtuSettable(self) -> bool: ... + @property + def hostNameAsTargetAddress(self) -> bool: ... + @property + def nameAliasSettable(self) -> bool: ... + @property + def ipv4EnableSettable(self) -> bool: ... + @property + def ipv6EnableSettable(self) -> bool: ... + @property + def ipv6PrefixLengthSettable(self) -> bool: ... + @property + def ipv6PrefixLength(self) -> int: ... + @property + def ipv6DhcpConfigurationSettable(self) -> bool: ... + @property + def ipv6LinkLocalAutoConfigurationSettable(self) -> bool: ... + @property + def ipv6RouterAdvertisementConfigurationSettable(self) -> bool: ... + @property + def ipv6DefaultGatewaySettable(self) -> bool: ... + @property + def ipv6MaxStaticAddressesSupported(self) -> int: ... + + + class IPProperties(vmodl.DynamicData): + @property + def mac(self) -> str: ... + @property + def address(self) -> str: ... + @property + def dhcpConfigurationEnabled(self) -> bool: ... + @property + def subnetMask(self) -> str: ... + @property + def defaultGateway(self) -> str: ... + @property + def primaryDnsServerAddress(self) -> str: ... + @property + def alternateDnsServerAddress(self) -> str: ... + @property + def ipv6Address(self) -> str: ... + @property + def ipv6SubnetMask(self) -> str: ... + @property + def ipv6DefaultGateway(self) -> str: ... + @property + def arpRedirectEnabled(self) -> bool: ... + @property + def mtu(self) -> int: ... + @property + def jumboFramesEnabled(self) -> bool: ... + @property + def ipv4Enabled(self) -> bool: ... + @property + def ipv6Enabled(self) -> bool: ... + @property + def ipv6properties(self) -> InternetScsiHba.IPv6Properties: ... + + + class IPv6Properties(vmodl.DynamicData): + @property + def iscsiIpv6Address(self) -> List[InternetScsiHba.IscsiIpv6Address]: ... + @property + def ipv6DhcpConfigurationEnabled(self) -> bool: ... + @property + def ipv6LinkLocalAutoConfigurationEnabled(self) -> bool: ... + @property + def ipv6RouterAdvertisementConfigurationEnabled(self) -> bool: ... + @property + def ipv6DefaultGateway(self) -> str: ... + + + class IscsiIpv6Address(vmodl.DynamicData): + @property + def address(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def origin(self) -> str: ... + @property + def operation(self) -> str: ... + + + class AddressConfigurationType(Enum): + DHCP = "dhcp" + AutoConfigured = "autoconfigured" + Static = "static" + Other = "other" + + + class IPv6AddressOperation(Enum): + add = "add" + remove = "remove" + + + class ParamValue(vim.option.OptionValue): + @property + def isInherited(self) -> bool: ... + + + class SendTarget(vmodl.DynamicData): + @property + def address(self) -> str: ... + @property + def port(self) -> int: ... + @property + def authenticationProperties(self) -> InternetScsiHba.AuthenticationProperties: ... + @property + def digestProperties(self) -> InternetScsiHba.DigestProperties: ... + @property + def supportedAdvancedOptions(self) -> List[vim.option.OptionDef]: ... + @property + def advancedOptions(self) -> List[InternetScsiHba.ParamValue]: ... + @property + def parent(self) -> str: ... + + + class StaticTarget(vmodl.DynamicData): + @property + def address(self) -> str: ... + @property + def port(self) -> int: ... + @property + def iScsiName(self) -> str: ... + @property + def discoveryMethod(self) -> str: ... + @property + def authenticationProperties(self) -> InternetScsiHba.AuthenticationProperties: ... + @property + def digestProperties(self) -> InternetScsiHba.DigestProperties: ... + @property + def supportedAdvancedOptions(self) -> List[vim.option.OptionDef]: ... + @property + def advancedOptions(self) -> List[InternetScsiHba.ParamValue]: ... + @property + def parent(self) -> str: ... + + + class TargetDiscoveryMethod(Enum): + staticMethod = "staticmethod" + sendTargetMethod = "sendtargetmethod" + slpMethod = "slpmethod" + isnsMethod = "isnsmethod" + unknownMethod = "unknownmethod" + + + class TargetSet(vmodl.DynamicData): + @property + def staticTargets(self) -> List[InternetScsiHba.StaticTarget]: ... + @property + def sendTargets(self) -> List[InternetScsiHba.SendTarget]: ... + + + class ChapAuthenticationType(Enum): + chapProhibited = "chapprohibited" + chapDiscouraged = "chapdiscouraged" + chapPreferred = "chappreferred" + chapRequired = "chaprequired" + + + class DigestType(Enum): + digestProhibited = "digestprohibited" + digestDiscouraged = "digestdiscouraged" + digestPreferred = "digestpreferred" + digestRequired = "digestrequired" + + + class NetworkBindingSupportType(Enum): + notsupported = "notsupported" + optional = "optional" + required = "required" + + +class InternetScsiTargetTransport(TargetTransport): + @property + def iScsiName(self) -> str: ... + @property + def iScsiAlias(self) -> str: ... + @property + def address(self) -> List[str]: ... + + +class IpConfig(vmodl.DynamicData): + @property + def dhcp(self) -> bool: ... + @property + def ipAddress(self) -> str: ... + @property + def subnetMask(self) -> str: ... + @property + def ipV6Config(self) -> IpConfig.IpV6AddressConfiguration: ... + + + class IpV6Address(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def origin(self) -> str: ... + @property + def dadState(self) -> str: ... + @property + def lifetime(self) -> datetime: ... + @property + def operation(self) -> str: ... + + + class IpV6AddressConfiguration(vmodl.DynamicData): + @property + def ipV6Address(self) -> List[IpConfig.IpV6Address]: ... + @property + def autoConfigurationEnabled(self) -> bool: ... + @property + def dhcpV6Enabled(self) -> bool: ... + + + class IpV6AddressConfigType(Enum): + other = "other" + manual = "manual" + dhcp = "dhcp" + linklayer = "linklayer" + random = "random" + + + class IpV6AddressStatus(Enum): + preferred = "preferred" + deprecated = "deprecated" + invalid = "invalid" + inaccessible = "inaccessible" + unknown = "unknown" + tentative = "tentative" + duplicate = "duplicate" + + +class IpRouteConfig(vmodl.DynamicData): + @property + def defaultGateway(self) -> str: ... + @property + def gatewayDevice(self) -> str: ... + @property + def ipV6DefaultGateway(self) -> str: ... + @property + def ipV6GatewayDevice(self) -> str: ... + + +class IpRouteConfigSpec(IpRouteConfig): + @property + def gatewayDeviceConnection(self) -> VirtualNicConnection: ... + @property + def ipV6GatewayDeviceConnection(self) -> VirtualNicConnection: ... + + +class IpRouteEntry(vmodl.DynamicData): + @property + def network(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def gateway(self) -> str: ... + @property + def deviceName(self) -> str: ... + + +class IpRouteOp(vmodl.DynamicData): + @property + def changeOperation(self) -> str: ... + @property + def route(self) -> IpRouteEntry: ... + + +class IpRouteTableConfig(vmodl.DynamicData): + @property + def ipRoute(self) -> List[IpRouteOp]: ... + @property + def ipv6Route(self) -> List[IpRouteOp]: ... + + +class IpRouteTableInfo(vmodl.DynamicData): + @property + def ipRoute(self) -> List[IpRouteEntry]: ... + @property + def ipv6Route(self) -> List[IpRouteEntry]: ... + + +class IpmiInfo(vmodl.DynamicData): + @property + def bmcIpAddress(self) -> str: ... + @property + def bmcMacAddress(self) -> str: ... + @property + def login(self) -> str: ... + @property + def password(self) -> str: ... + + +class LicenseSpec(vmodl.DynamicData): + @property + def source(self) -> vim.LicenseManager.LicenseSource: ... + @property + def editionKey(self) -> str: ... + @property + def disabledFeatureKey(self) -> List[str]: ... + @property + def enabledFeatureKey(self) -> List[str]: ... + + +class LinkDiscoveryProtocolConfig(vmodl.DynamicData): + @property + def protocol(self) -> str: ... + @property + def operation(self) -> str: ... + + + class OperationType(Enum): + none = "none" + listen = "listen" + advertise = "advertise" + both = "both" + + + class ProtocolType(Enum): + cdp = "cdp" + lldp = "lldp" + + +class LocalAuthenticationInfo(AuthenticationStoreInfo): ... + + +class LocalDatastoreInfo(vim.Datastore.Info): + @property + def path(self) -> str: ... + + +class LocalFileSystemVolume(FileSystemVolume): + @property + def device(self) -> str: ... + + +class DiskLayoutSpec(vmodl.DynamicData): + @property + def controllerType(self) -> type: ... + @property + def busNumber(self) -> int: ... + @property + def unitNumber(self) -> int: ... + @property + def srcFilename(self) -> str: ... + @property + def dstFilename(self) -> str: ... + + +class FileDeleteResult(vmodl.DynamicData): + @property + def fileName(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class FileDeleteSpec(vmodl.DynamicData): + @property + def fileName(self) -> str: ... + @property + def fileType(self) -> str: ... + + +class FileReserveResult(vmodl.DynamicData): + @property + def baseName(self) -> str: ... + @property + def parentDir(self) -> str: ... + @property + def reservedName(self) -> str: ... + + +class FileReserveSpec(vmodl.DynamicData): + @property + def baseName(self) -> str: ... + @property + def parentDir(self) -> str: ... + @property + def fileType(self) -> str: ... + @property + def storageProfile(self) -> str: ... + + +class SnapshotLayoutSpec(vmodl.DynamicData): + @property + def id(self) -> int: ... + @property + def srcFilename(self) -> str: ... + @property + def dstFilename(self) -> str: ... + @property + def disk(self) -> List[LowLevelProvisioningManager.DiskLayoutSpec]: ... + + +class VmMigrationStatus(vmodl.DynamicData): + @property + def migrationId(self) -> long: ... + @property + def type(self) -> str: ... + @property + def source(self) -> bool: ... + @property + def consideredSuccessful(self) -> bool: ... + + +class VmRecoveryInfo(vmodl.DynamicData): + @property + def version(self) -> str: ... + @property + def biosUUID(self) -> str: ... + @property + def instanceUUID(self) -> str: ... + @property + def ftInfo(self) -> vim.vm.FaultToleranceConfigInfo: ... + + +class MaintenanceSpec(vmodl.DynamicData): + @property + def vsanMode(self) -> DecommissionMode: ... + @property + def purpose(self) -> str: ... + + + class Purpose(Enum): + hostUpgrade = "hostupgrade" + + +class MemorySpec(vmodl.DynamicData): + @property + def serviceConsoleReservation(self) -> long: ... + + +class MemoryTierInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def type(self) -> str: ... + @property + def flags(self) -> List[str]: ... + @property + def size(self) -> long: ... + + +class MountInfo(vmodl.DynamicData): + @property + def path(self) -> str: ... + @property + def accessMode(self) -> str: ... + @property + def mounted(self) -> bool: ... + @property + def accessible(self) -> bool: ... + @property + def inaccessibleReason(self) -> str: ... + @property + def vmknicName(self) -> str: ... + @property + def vmknicActive(self) -> bool: ... + @property + def mountFailedReason(self) -> str: ... + @property + def numTcpConnections(self) -> int: ... + + + class InaccessibleReason(Enum): + AllPathsDown_Start = "allpathsdown_start" + AllPathsDown_Timeout = "allpathsdown_timeout" + PermanentDeviceLoss = "permanentdeviceloss" + + + class MountFailedReason(Enum): + CONNECT_FAILURE = "connect_failure" + MOUNT_NOT_SUPPORTED = "mount_not_supported" + NFS_NOT_SUPPORTED = "nfs_not_supported" + MOUNT_DENIED = "mount_denied" + MOUNT_NOT_DIR = "mount_not_dir" + VOLUME_LIMIT_EXCEEDED = "volume_limit_exceeded" + CONN_LIMIT_EXCEEDED = "conn_limit_exceeded" + MOUNT_EXISTS = "mount_exists" + OTHERS = "others" + + +class MultipathInfo(vmodl.DynamicData): + @property + def lun(self) -> List[MultipathInfo.LogicalUnit]: ... + + + class FixedLogicalUnitPolicy(MultipathInfo.LogicalUnitPolicy): + @property + def prefer(self) -> str: ... + + + class HppLogicalUnitPolicy(MultipathInfo.LogicalUnitPolicy): + @property + def bytes(self) -> long: ... + @property + def iops(self) -> long: ... + @property + def path(self) -> str: ... + @property + def latencyEvalTime(self) -> long: ... + @property + def samplingIosPerPath(self) -> long: ... + + + class LogicalUnit(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def id(self) -> str: ... + @property + def lun(self) -> Link: ... + @property + def path(self) -> List[MultipathInfo.Path]: ... + @property + def policy(self) -> MultipathInfo.LogicalUnitPolicy: ... + @property + def storageArrayTypePolicy(self) -> MultipathInfo.LogicalUnitStorageArrayTypePolicy: ... + + + class LogicalUnitPolicy(vmodl.DynamicData): + @property + def policy(self) -> str: ... + + + class LogicalUnitStorageArrayTypePolicy(vmodl.DynamicData): + @property + def policy(self) -> str: ... + + + class Path(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def pathState(self) -> str: ... + @property + def state(self) -> str: ... + @property + def isWorkingPath(self) -> bool: ... + @property + def adapter(self) -> Link: ... + @property + def lun(self) -> Link: ... + @property + def transport(self) -> TargetTransport: ... + + + class PathState(Enum): + standby = "standby" + active = "active" + disabled = "disabled" + dead = "dead" + unknown = "unknown" + + +class MultipathStateInfo(vmodl.DynamicData): + @property + def path(self) -> List[MultipathStateInfo.Path]: ... + + +class NasDatastoreInfo(vim.Datastore.Info): + @property + def nas(self) -> NasVolume: ... + + +class NasVolume(FileSystemVolume): + @property + def remoteHost(self) -> str: ... + @property + def remotePath(self) -> str: ... + @property + def userName(self) -> str: ... + @property + def remoteHostNames(self) -> List[str]: ... + @property + def securityType(self) -> str: ... + @property + def protocolEndpoint(self) -> bool: ... + + + class UserInfo(vmodl.DynamicData): + @property + def user(self) -> str: ... + + + class SecurityType(Enum): + AUTH_SYS = "auth_sys" + SEC_KRB5 = "sec_krb5" + SEC_KRB5I = "sec_krb5i" + + +class NatService(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def spec(self) -> NatService.Specification: ... + + + class NameServiceSpec(vmodl.DynamicData): + @property + def dnsAutoDetect(self) -> bool: ... + @property + def dnsPolicy(self) -> str: ... + @property + def dnsRetries(self) -> int: ... + @property + def dnsTimeout(self) -> int: ... + @property + def dnsNameServer(self) -> List[str]: ... + @property + def nbdsTimeout(self) -> int: ... + @property + def nbnsRetries(self) -> int: ... + @property + def nbnsTimeout(self) -> int: ... + + + class PortForwardSpecification(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def name(self) -> str: ... + @property + def hostPort(self) -> int: ... + @property + def guestPort(self) -> int: ... + @property + def guestIpAddress(self) -> str: ... + + +class NetCapabilities(vmodl.DynamicData): + @property + def canSetPhysicalNicLinkSpeed(self) -> bool: ... + @property + def supportsNicTeaming(self) -> bool: ... + @property + def nicTeamingPolicy(self) -> List[str]: ... + @property + def supportsVlan(self) -> bool: ... + @property + def usesServiceConsoleNic(self) -> bool: ... + @property + def supportsNetworkHints(self) -> bool: ... + @property + def maxPortGroupsPerVswitch(self) -> int: ... + @property + def vswitchConfigSupported(self) -> bool: ... + @property + def vnicConfigSupported(self) -> bool: ... + @property + def ipRouteConfigSupported(self) -> bool: ... + @property + def dnsConfigSupported(self) -> bool: ... + @property + def dhcpOnVnicSupported(self) -> bool: ... + @property + def ipV6Supported(self) -> bool: ... + @property + def backupNfcNiocSupported(self) -> bool: ... + + +class NetOffloadCapabilities(vmodl.DynamicData): + @property + def csumOffload(self) -> bool: ... + @property + def tcpSegmentation(self) -> bool: ... + @property + def zeroCopyXmit(self) -> bool: ... + + +class NetStackInstance(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def dnsConfig(self) -> DnsConfig: ... + @property + def ipRouteConfig(self) -> IpRouteConfig: ... + @property + def requestedMaxNumberOfConnections(self) -> int: ... + @property + def congestionControlAlgorithm(self) -> str: ... + @property + def ipV6Enabled(self) -> bool: ... + @property + def routeTableConfig(self) -> IpRouteTableConfig: ... + + + class CongestionControlAlgorithmType(Enum): + newreno = "newreno" + cubic = "cubic" + + + class SystemStackKey(Enum): + defaultTcpipStack = "defaulttcpipstack" + vmotion = "vmotion" + vSphereProvisioning = "vsphereprovisioning" + mirror = "mirror" + ops = "ops" + + +class NetworkConfig(vmodl.DynamicData): + @property + def vswitch(self) -> List[VirtualSwitch.Config]: ... + @property + def proxySwitch(self) -> List[HostProxySwitch.Config]: ... + @property + def portgroup(self) -> List[PortGroup.Config]: ... + @property + def pnic(self) -> List[PhysicalNic.Config]: ... + @property + def vnic(self) -> List[VirtualNic.Config]: ... + @property + def consoleVnic(self) -> List[VirtualNic.Config]: ... + @property + def dnsConfig(self) -> DnsConfig: ... + @property + def ipRouteConfig(self) -> IpRouteConfig: ... + @property + def consoleIpRouteConfig(self) -> IpRouteConfig: ... + @property + def routeTableConfig(self) -> IpRouteTableConfig: ... + @property + def dhcp(self) -> List[DhcpService.Config]: ... + @property + def nat(self) -> List[NatService.Config]: ... + @property + def ipV6Enabled(self) -> bool: ... + @property + def netStackSpec(self) -> List[NetworkConfig.NetStackSpec]: ... + @property + def migrationStatus(self) -> str: ... + + + class NetStackSpec(vmodl.DynamicData): + @property + def netStackInstance(self) -> NetStackInstance: ... + @property + def operation(self) -> str: ... + + + class Result(vmodl.DynamicData): + @property + def vnicDevice(self) -> List[str]: ... + @property + def consoleVnicDevice(self) -> List[str]: ... + + +class NetworkPolicy(vmodl.DynamicData): + @property + def security(self) -> NetworkPolicy.SecurityPolicy: ... + @property + def nicTeaming(self) -> NetworkPolicy.NicTeamingPolicy: ... + @property + def offloadPolicy(self) -> NetOffloadCapabilities: ... + @property + def shapingPolicy(self) -> NetworkPolicy.TrafficShapingPolicy: ... + + + class NicFailureCriteria(vmodl.DynamicData): + @property + def checkSpeed(self) -> str: ... + @property + def speed(self) -> int: ... + @property + def checkDuplex(self) -> bool: ... + @property + def fullDuplex(self) -> bool: ... + @property + def checkErrorPercent(self) -> bool: ... + @property + def percentage(self) -> int: ... + @property + def checkBeacon(self) -> bool: ... + + + class NicOrderPolicy(vmodl.DynamicData): + @property + def activeNic(self) -> List[str]: ... + @property + def standbyNic(self) -> List[str]: ... + + + class NicTeamingPolicy(vmodl.DynamicData): + @property + def policy(self) -> str: ... + @property + def reversePolicy(self) -> bool: ... + @property + def notifySwitches(self) -> bool: ... + @property + def rollingOrder(self) -> bool: ... + @property + def failureCriteria(self) -> NetworkPolicy.NicFailureCriteria: ... + @property + def nicOrder(self) -> NetworkPolicy.NicOrderPolicy: ... + + + class SecurityPolicy(vmodl.DynamicData): + @property + def allowPromiscuous(self) -> bool: ... + @property + def macChanges(self) -> bool: ... + @property + def forgedTransmits(self) -> bool: ... + + + class TrafficShapingPolicy(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def averageBandwidth(self) -> long: ... + @property + def peakBandwidth(self) -> long: ... + @property + def burstSize(self) -> long: ... + + +class NfcConnectionInfo(DataTransportConnectionInfo): + @property + def streamingMemoryConsumed(self) -> long: ... + + +class NtpConfig(vmodl.DynamicData): + @property + def server(self) -> List[str]: ... + @property + def configFile(self) -> List[str]: ... + + +class NumaInfo(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def numNodes(self) -> int: ... + @property + def numaNode(self) -> List[NumaNode]: ... + + +class NumaNode(vmodl.DynamicData): + @property + def typeId(self) -> byte: ... + @property + def cpuID(self) -> List[short]: ... + @property + def memorySize(self) -> long: ... + @property + def memoryRangeBegin(self) -> long: ... + @property + def memoryRangeLength(self) -> long: ... + @property + def pciId(self) -> List[str]: ... + + +class NumericSensorInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def healthState(self) -> vim.ElementDescription: ... + @property + def currentReading(self) -> long: ... + @property + def unitModifier(self) -> int: ... + @property + def baseUnits(self) -> str: ... + @property + def rateUnits(self) -> str: ... + @property + def sensorType(self) -> str: ... + @property + def id(self) -> str: ... + @property + def sensorNumber(self) -> long: ... + @property + def timeStamp(self) -> str: ... + @property + def fru(self) -> Fru: ... + + + class HealthState(Enum): + unknown = "unknown" + green = "green" + yellow = "yellow" + red = "red" + + + class SensorType(Enum): + fan = "fan" + power = "power" + temperature = "temperature" + voltage = "voltage" + other = "other" + processor = "processor" + memory = "memory" + storage = "storage" + systemBoard = "systemboard" + battery = "battery" + bios = "bios" + cable = "cable" + watchdog = "watchdog" + + +class NvmeConnectSpec(NvmeSpec): + @property + def subnqn(self) -> str: ... + @property + def controllerId(self) -> int: ... + @property + def adminQueueSize(self) -> int: ... + @property + def keepAliveTimeout(self) -> int: ... + + +class NvmeController(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def controllerNumber(self) -> int: ... + @property + def subnqn(self) -> str: ... + @property + def name(self) -> str: ... + @property + def associatedAdapter(self) -> Link: ... + @property + def transportType(self) -> str: ... + @property + def fusedOperationSupported(self) -> bool: ... + @property + def numberOfQueues(self) -> int: ... + @property + def queueSize(self) -> int: ... + @property + def attachedNamespace(self) -> List[NvmeNamespace]: ... + @property + def vendorId(self) -> str: ... + @property + def model(self) -> str: ... + @property + def serialNumber(self) -> str: ... + @property + def firmwareVersion(self) -> str: ... + + +class NvmeDisconnectSpec(vmodl.DynamicData): + @property + def hbaName(self) -> str: ... + @property + def subnqn(self) -> str: ... + @property + def controllerNumber(self) -> int: ... + + +class NvmeDiscoverSpec(NvmeSpec): + @property + def autoConnect(self) -> bool: ... + @property + def rootDiscoveryController(self) -> bool: ... + + +class NvmeDiscoveryLog(vmodl.DynamicData): + @property + def entry(self) -> List[NvmeDiscoveryLog.Entry]: ... + @property + def complete(self) -> bool: ... + + + class Entry(vmodl.DynamicData): + @property + def subnqn(self) -> str: ... + @property + def subsystemType(self) -> str: ... + @property + def subsystemPortId(self) -> int: ... + @property + def controllerId(self) -> int: ... + @property + def adminQueueMaxSize(self) -> int: ... + @property + def transportParameters(self) -> NvmeTransportParameters: ... + @property + def transportRequirements(self) -> str: ... + @property + def connected(self) -> bool: ... + + + class SubsystemType(Enum): + discovery = "discovery" + nvm = "nvm" + + + class TransportRequirements(Enum): + secureChannelRequired = "securechannelrequired" + secureChannelNotRequired = "securechannelnotrequired" + requirementsNotSpecified = "requirementsnotspecified" + + +class NvmeNamespace(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def id(self) -> int: ... + @property + def blockSize(self) -> int: ... + @property + def capacityInBlocks(self) -> long: ... + + +class NvmeOpaqueTransportParameters(NvmeTransportParameters): + @property + def trtype(self) -> str: ... + @property + def traddr(self) -> str: ... + @property + def adrfam(self) -> str: ... + @property + def trsvcid(self) -> str: ... + @property + def tsas(self) -> binary: ... + + +class NvmeOverFibreChannelParameters(NvmeTransportParameters): + @property + def nodeWorldWideName(self) -> long: ... + @property + def portWorldWideName(self) -> long: ... + + +class NvmeOverRdmaParameters(NvmeTransportParameters): + @property + def address(self) -> str: ... + @property + def addressFamily(self) -> str: ... + @property + def portNumber(self) -> int: ... + + +class NvmeOverTcpParameters(NvmeTransportParameters): + @property + def address(self) -> str: ... + @property + def portNumber(self) -> int: ... + @property + def digestVerification(self) -> str: ... + + +class NvmeSpec(vmodl.DynamicData): + @property + def hbaName(self) -> str: ... + @property + def transportParameters(self) -> NvmeTransportParameters: ... + + +class NvmeTopology(vmodl.DynamicData): + @property + def adapter(self) -> List[NvmeTopology.Interface]: ... + + + class Interface(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def adapter(self) -> Link: ... + @property + def connectedController(self) -> List[NvmeController]: ... + + +class NvmeTransportParameters(vmodl.DynamicData): + + + class NvmeAddressFamily(Enum): + ipv4 = "ipv4" + ipv6 = "ipv6" + infiniBand = "infiniband" + fc = "fc" + loopback = "loopback" + unknown = "unknown" + + +class OpaqueNetworkInfo(vmodl.DynamicData): + @property + def opaqueNetworkId(self) -> str: ... + @property + def opaqueNetworkName(self) -> str: ... + @property + def opaqueNetworkType(self) -> str: ... + @property + def pnicZone(self) -> List[str]: ... + @property + def capability(self) -> vim.OpaqueNetwork.Capability: ... + @property + def extraConfig(self) -> List[vim.option.OptionValue]: ... + + +class OpaqueSwitch(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def pnic(self) -> List[Link]: ... + @property + def pnicZone(self) -> List[OpaqueSwitch.PhysicalNicZone]: ... + @property + def status(self) -> str: ... + @property + def vtep(self) -> List[VirtualNic]: ... + @property + def extraConfig(self) -> List[vim.option.OptionValue]: ... + @property + def featureCapability(self) -> List[FeatureCapability]: ... + + + class PhysicalNicZone(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def pnicDevice(self) -> List[str]: ... + + + class OpaqueSwitchState(Enum): + up = "up" + warning = "warning" + down = "down" + maintenance = "maintenance" + + +class PMemDatastoreInfo(vim.Datastore.Info): + @property + def pmem(self) -> PMemVolume: ... + + +class PMemVolume(FileSystemVolume): + @property + def uuid(self) -> str: ... + @property + def version(self) -> str: ... + + +class ParallelScsiHba(HostBusAdapter): ... + + +class ParallelScsiTargetTransport(TargetTransport): ... + + +class PathSelectionPolicyOption(vmodl.DynamicData): + @property + def policy(self) -> vim.ElementDescription: ... + + +class PciDevice(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def classId(self) -> short: ... + @property + def bus(self) -> byte: ... + @property + def slot(self) -> byte: ... + @property + def function(self) -> byte: ... + @property + def vendorId(self) -> short: ... + @property + def subVendorId(self) -> short: ... + @property + def vendorName(self) -> str: ... + @property + def deviceId(self) -> short: ... + @property + def subDeviceId(self) -> short: ... + @property + def parentBridge(self) -> str: ... + @property + def deviceName(self) -> str: ... + + +class PciPassthruConfig(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def passthruEnabled(self) -> bool: ... + @property + def applyNow(self) -> bool: ... + @property + def hardwareLabel(self) -> str: ... + + +class PciPassthruInfo(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def dependentDevice(self) -> str: ... + @property + def passthruEnabled(self) -> bool: ... + @property + def passthruCapable(self) -> bool: ... + @property + def passthruActive(self) -> bool: ... + @property + def hardwareLabel(self) -> str: ... + + +class PcieHba(HostBusAdapter): ... + + +class PcieTargetTransport(TargetTransport): ... + + +class PersistentMemoryInfo(vmodl.DynamicData): + @property + def capacityInMB(self) -> long: ... + @property + def volumeUUID(self) -> str: ... + + +class PhysicalNic(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def device(self) -> str: ... + @property + def pci(self) -> str: ... + @property + def driver(self) -> str: ... + @property + def driverVersion(self) -> str: ... + @property + def firmwareVersion(self) -> str: ... + @property + def linkSpeed(self) -> PhysicalNic.LinkSpeedDuplex: ... + @property + def validLinkSpecification(self) -> List[PhysicalNic.LinkSpeedDuplex]: ... + @property + def spec(self) -> PhysicalNic.Specification: ... + @property + def wakeOnLanSupported(self) -> bool: ... + @property + def mac(self) -> str: ... + @property + def fcoeConfiguration(self) -> FcoeConfig: ... + @property + def vmDirectPathGen2Supported(self) -> bool: ... + @property + def vmDirectPathGen2SupportedMode(self) -> str: ... + @property + def resourcePoolSchedulerAllowed(self) -> bool: ... + @property + def resourcePoolSchedulerDisallowedReason(self) -> List[str]: ... + @property + def autoNegotiateSupported(self) -> bool: ... + @property + def enhancedNetworkingStackSupported(self) -> bool: ... + @property + def ensInterruptSupported(self) -> bool: ... + @property + def rdmaDevice(self) -> Link: ... + @property + def dpuId(self) -> str: ... + + + class CdpDeviceCapability(vmodl.DynamicData): + @property + def router(self) -> bool: ... + @property + def transparentBridge(self) -> bool: ... + @property + def sourceRouteBridge(self) -> bool: ... + @property + def networkSwitch(self) -> bool: ... + @property + def host(self) -> bool: ... + @property + def igmpEnabled(self) -> bool: ... + @property + def repeater(self) -> bool: ... + + + class CdpInfo(vmodl.DynamicData): + @property + def cdpVersion(self) -> int: ... + @property + def timeout(self) -> int: ... + @property + def ttl(self) -> int: ... + @property + def samples(self) -> int: ... + @property + def devId(self) -> str: ... + @property + def address(self) -> str: ... + @property + def portId(self) -> str: ... + @property + def deviceCapability(self) -> PhysicalNic.CdpDeviceCapability: ... + @property + def softwareVersion(self) -> str: ... + @property + def hardwarePlatform(self) -> str: ... + @property + def ipPrefix(self) -> str: ... + @property + def ipPrefixLen(self) -> int: ... + @property + def vlan(self) -> int: ... + @property + def fullDuplex(self) -> bool: ... + @property + def mtu(self) -> int: ... + @property + def systemName(self) -> str: ... + @property + def systemOID(self) -> str: ... + @property + def mgmtAddr(self) -> str: ... + @property + def location(self) -> str: ... + + + class LinkSpeedDuplex(vmodl.DynamicData): + @property + def speedMb(self) -> int: ... + @property + def duplex(self) -> bool: ... + + + class LldpInfo(vmodl.DynamicData): + @property + def chassisId(self) -> str: ... + @property + def portId(self) -> str: ... + @property + def timeToLive(self) -> int: ... + @property + def parameter(self) -> List[vmodl.KeyAnyValue]: ... + + + class NetworkHint(vmodl.DynamicData): + @property + def device(self) -> str: ... + @property + def subnet(self) -> List[PhysicalNic.NetworkHint.IpNetwork]: ... + @property + def network(self) -> List[PhysicalNic.NetworkHint.NamedNetwork]: ... + @property + def connectedSwitchPort(self) -> PhysicalNic.CdpInfo: ... + @property + def lldpInfo(self) -> PhysicalNic.LldpInfo: ... + + + class HintElement(vmodl.DynamicData): + @property + def vlanId(self) -> int: ... + + + class IpNetwork(PhysicalNic.NetworkHint.HintElement): + @property + def ipSubnet(self) -> str: ... + + + class NamedNetwork(PhysicalNic.NetworkHint.HintElement): + @property + def network(self) -> str: ... + + + class ResourcePoolSchedulerDisallowedReason(Enum): + userOptOut = "useroptout" + hardwareUnsupported = "hardwareunsupported" + + + class VmDirectPathGen2SupportedMode(Enum): + upt = "upt" + + +class PlugStoreTopology(vmodl.DynamicData): + @property + def adapter(self) -> List[PlugStoreTopology.Adapter]: ... + @property + def path(self) -> List[PlugStoreTopology.Path]: ... + @property + def target(self) -> List[PlugStoreTopology.Target]: ... + @property + def device(self) -> List[PlugStoreTopology.Device]: ... + @property + def plugin(self) -> List[PlugStoreTopology.Plugin]: ... + + + class Adapter(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def adapter(self) -> Link: ... + @property + def path(self) -> List[Link]: ... + + + class Plugin(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def device(self) -> List[Link]: ... + @property + def claimedPath(self) -> List[Link]: ... + + + class Target(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def transport(self) -> TargetTransport: ... + + +class PortGroup(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def port(self) -> List[PortGroup.Port]: ... + @property + def vswitch(self) -> Link: ... + @property + def computedPolicy(self) -> NetworkPolicy: ... + @property + def spec(self) -> PortGroup.Specification: ... + + + class Port(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def mac(self) -> List[str]: ... + @property + def type(self) -> str: ... + + + class PortConnecteeType(Enum): + virtualMachine = "virtualmachine" + systemManagement = "systemmanagement" + host = "host" + unknown = "unknown" + + +class ProtocolEndpoint(vmodl.DynamicData): + @property + def peType(self) -> str: ... + @property + def type(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def hostKey(self) -> List[vim.HostSystem]: ... + @property + def storageArray(self) -> str: ... + @property + def nfsServer(self) -> str: ... + @property + def nfsDir(self) -> str: ... + @property + def nfsServerScope(self) -> str: ... + @property + def nfsServerMajor(self) -> str: ... + @property + def nfsServerAuthType(self) -> str: ... + @property + def nfsServerUser(self) -> str: ... + @property + def deviceId(self) -> str: ... + + + class PEType(Enum): + block = "block" + nas = "nas" + + + class ProtocolEndpointType(Enum): + scsi = "scsi" + nfs = "nfs" + nfs4x = "nfs4x" + + +class PtpConfig(vmodl.DynamicData): + @property + def domain(self) -> int: ... + @property + def port(self) -> List[PtpConfig.PtpPort]: ... + + + class PtpPort(vmodl.DynamicData): + @property + def index(self) -> int: ... + @property + def deviceType(self) -> str: ... + @property + def device(self) -> str: ... + @property + def ipConfig(self) -> IpConfig: ... + + + class DeviceType(Enum): + none = "none" + virtualNic = "virtualnic" + pciPassthruNic = "pcipassthrunic" + + +class QualifiedName(vmodl.DynamicData): + @property + def value(self) -> str: ... + @property + def type(self) -> str: ... + + +class RdmaDevice(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def device(self) -> str: ... + @property + def driver(self) -> str: ... + @property + def description(self) -> str: ... + @property + def backing(self) -> RdmaDevice.Backing: ... + @property + def connectionInfo(self) -> RdmaDevice.ConnectionInfo: ... + @property + def capability(self) -> RdmaDevice.Capability: ... + + + class Backing(vmodl.DynamicData): ... + + + class ConnectionInfo(vmodl.DynamicData): + @property + def state(self) -> str: ... + @property + def mtu(self) -> int: ... + @property + def speedInMbps(self) -> int: ... + + + class PnicBacking(RdmaDevice.Backing): + @property + def pairedUplink(self) -> Link: ... + + + class ConnectionState(Enum): + unknown = "unknown" + down = "down" + init = "init" + armed = "armed" + active = "active" + activeDefer = "activedefer" + + +class RdmaHba(HostBusAdapter): + @property + def associatedRdmaDevice(self) -> str: ... + + +class RdmaTargetTransport(TargetTransport): ... + + +class ReliableMemoryInfo(vmodl.DynamicData): + @property + def memorySize(self) -> long: ... + + +class ResignatureRescanResult(vmodl.DynamicData): + @property + def rescan(self) -> List[VmfsRescanResult]: ... + @property + def result(self) -> vim.Datastore: ... + + +class Ruleset(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def label(self) -> str: ... + @property + def required(self) -> bool: ... + @property + def rule(self) -> List[Ruleset.Rule]: ... + @property + def service(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def allowedHosts(self) -> Ruleset.IpList: ... + + + class IpList(vmodl.DynamicData): + @property + def ipAddress(self) -> List[str]: ... + @property + def ipNetwork(self) -> List[Ruleset.IpNetwork]: ... + @property + def allIp(self) -> bool: ... + + + class Rule(vmodl.DynamicData): + @property + def port(self) -> int: ... + @property + def endPort(self) -> int: ... + @property + def direction(self) -> Ruleset.Rule.Direction: ... + @property + def portType(self) -> Ruleset.Rule.PortType: ... + @property + def protocol(self) -> str: ... + + + class Direction(Enum): + inbound = "inbound" + outbound = "outbound" + + + class RulesetSpec(vmodl.DynamicData): + @property + def allowedHosts(self) -> Ruleset.IpList: ... + + +class RuntimeInfo(vmodl.DynamicData): + @property + def connectionState(self) -> vim.HostSystem.ConnectionState: ... + @property + def powerState(self) -> vim.HostSystem.PowerState: ... + @property + def standbyMode(self) -> str: ... + @property + def inMaintenanceMode(self) -> bool: ... + @property + def inQuarantineMode(self) -> bool: ... + @property + def bootTime(self) -> datetime: ... + @property + def healthSystemRuntime(self) -> HealthStatusSystem.Runtime: ... + @property + def dasHostState(self) -> vim.cluster.DasFdmHostState: ... + @property + def tpmPcrValues(self) -> List[TpmDigestInfo]: ... + @property + def vsanRuntimeInfo(self) -> VsanRuntimeInfo: ... + @property + def networkRuntimeInfo(self) -> RuntimeInfo.NetworkRuntimeInfo: ... + @property + def vFlashResourceRuntimeInfo(self) -> VFlashManager.VFlashResourceRunTimeInfo: ... + @property + def hostMaxVirtualDiskCapacity(self) -> long: ... + @property + def cryptoState(self) -> str: ... + @property + def cryptoKeyId(self) -> vim.encryption.CryptoKeyId: ... + @property + def statelessNvdsMigrationReady(self) -> str: ... + @property + def stateEncryption(self) -> RuntimeInfo.StateEncryptionInfo: ... + + + class NetStackInstanceRuntimeInfo(vmodl.DynamicData): + @property + def netStackInstanceKey(self) -> str: ... + @property + def state(self) -> str: ... + @property + def vmknicKeys(self) -> List[str]: ... + @property + def maxNumberOfConnections(self) -> int: ... + @property + def currentIpV6Enabled(self) -> bool: ... + + + class State(Enum): + inactive = "inactive" + active = "active" + deactivating = "deactivating" + activating = "activating" + + + class NetworkResourceRuntimeInfo(vmodl.DynamicData): + @property + def pnicResourceInfo(self) -> List[RuntimeInfo.PnicNetworkResourceInfo]: ... + + + class NetworkRuntimeInfo(vmodl.DynamicData): + @property + def netStackInstanceRuntimeInfo(self) -> List[RuntimeInfo.NetStackInstanceRuntimeInfo]: ... + @property + def networkResourceRuntime(self) -> RuntimeInfo.NetworkResourceRuntimeInfo: ... + + + class PlacedVirtualNicIdentifier(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def vnicKey(self) -> str: ... + @property + def reservation(self) -> int: ... + + + class PnicNetworkResourceInfo(vmodl.DynamicData): + @property + def pnicDevice(self) -> str: ... + @property + def availableBandwidthForVMTraffic(self) -> long: ... + @property + def unusedBandwidthForVMTraffic(self) -> long: ... + @property + def placedVirtualNics(self) -> List[RuntimeInfo.PlacedVirtualNicIdentifier]: ... + + + class StateEncryptionInfo(vmodl.DynamicData): + @property + def protectionMode(self) -> str: ... + @property + def requireSecureBoot(self) -> bool: ... + @property + def requireExecInstalledOnly(self) -> bool: ... + + + class ProtectionMode(Enum): + none = "none" + tpm = "tpm" + + + class StatelessNvdsMigrationState(Enum): + ready = "ready" + notNeeded = "notneeded" + unknown = "unknown" + + +class ScsiDisk(ScsiLun): + @property + def capacity(self) -> DiskDimensions.Lba: ... + @property + def devicePath(self) -> str: ... + @property + def ssd(self) -> bool: ... + @property + def localDisk(self) -> bool: ... + @property + def physicalLocation(self) -> List[str]: ... + @property + def emulatedDIXDIFEnabled(self) -> bool: ... + @property + def vsanDiskInfo(self) -> VsanDiskInfo: ... + @property + def scsiDiskType(self) -> str: ... + + + class ScsiDiskType(Enum): + native512 = "native512" + emulated512 = "emulated512" + native4k = "native4k" + SoftwareEmulated4k = "softwareemulated4k" + unknown = "unknown" + + +class ScsiLun(Device): + @property + def key(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def descriptor(self) -> List[ScsiLun.Descriptor]: ... + @property + def canonicalName(self) -> str: ... + @property + def displayName(self) -> str: ... + @property + def lunType(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def model(self) -> str: ... + @property + def revision(self) -> str: ... + @property + def scsiLevel(self) -> int: ... + @property + def serialNumber(self) -> str: ... + @property + def durableName(self) -> ScsiLun.DurableName: ... + @property + def alternateName(self) -> List[ScsiLun.DurableName]: ... + @property + def standardInquiry(self) -> List[byte]: ... + @property + def queueDepth(self) -> int: ... + @property + def operationalState(self) -> List[str]: ... + @property + def capabilities(self) -> ScsiLun.Capabilities: ... + @property + def vStorageSupport(self) -> str: ... + @property + def protocolEndpoint(self) -> bool: ... + @property + def perenniallyReserved(self) -> bool: ... + @property + def clusteredVmdkSupported(self) -> bool: ... + @property + def applicationProtocol(self) -> str: ... + @property + def dispersedNs(self) -> bool: ... + + + class Descriptor(vmodl.DynamicData): + @property + def quality(self) -> str: ... + @property + def id(self) -> str: ... + + + class DurableName(vmodl.DynamicData): + @property + def namespace(self) -> str: ... + @property + def namespaceId(self) -> byte: ... + @property + def data(self) -> List[byte]: ... + + + class DescriptorQuality(Enum): + highQuality = "highquality" + mediumQuality = "mediumquality" + lowQuality = "lowquality" + unknownQuality = "unknownquality" + + + class DeviceProtocol(Enum): + NVMe = "nvme" + SCSI = "scsi" + + + class ScsiLunType(Enum): + disk = "disk" + tape = "tape" + printer = "printer" + processor = "processor" + worm = "worm" + cdrom = "cdrom" + scanner = "scanner" + opticalDevice = "opticaldevice" + mediaChanger = "mediachanger" + communications = "communications" + storageArrayController = "storagearraycontroller" + enclosure = "enclosure" + unknown = "unknown" + + +class ScsiTopology(vmodl.DynamicData): + @property + def adapter(self) -> List[ScsiTopology.Interface]: ... + + + class Lun(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def lun(self) -> int: ... + @property + def scsiLun(self) -> Link: ... + + +class SecuritySpec(vmodl.DynamicData): + @property + def adminPassword(self) -> str: ... + @property + def removePermission(self) -> List[vim.AuthorizationManager.Permission]: ... + @property + def addPermission(self) -> List[vim.AuthorizationManager.Permission]: ... + + +class SerialAttachedHba(HostBusAdapter): + @property + def nodeWorldWideName(self) -> str: ... + + +class SerialAttachedTargetTransport(TargetTransport): ... + + +class Service(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def label(self) -> str: ... + @property + def required(self) -> bool: ... + @property + def uninstallable(self) -> bool: ... + @property + def running(self) -> bool: ... + @property + def ruleset(self) -> List[str]: ... + @property + def policy(self) -> str: ... + @property + def sourcePackage(self) -> Service.SourcePackage: ... + + + class SourcePackage(vmodl.DynamicData): + @property + def sourcePackageName(self) -> str: ... + @property + def description(self) -> str: ... + + + class Policy(Enum): + on = "on" + automatic = "automatic" + off = "off" + + +class ServiceConfig(vmodl.DynamicData): + @property + def serviceId(self) -> str: ... + @property + def startupPolicy(self) -> str: ... + + +class ServiceInfo(vmodl.DynamicData): + @property + def service(self) -> List[Service]: ... + + +class SevInfo(vmodl.DynamicData): + @property + def sevState(self) -> str: ... + @property + def maxSevEsGuests(self) -> long: ... + + + class SevState(Enum): + uninitialized = "uninitialized" + initialized = "initialized" + working = "working" + + +class SgxInfo(vmodl.DynamicData): + @property + def sgxState(self) -> str: ... + @property + def totalEpcMemory(self) -> long: ... + @property + def flcMode(self) -> str: ... + @property + def lePubKeyHash(self) -> str: ... + @property + def registrationInfo(self) -> SgxRegistrationInfo: ... + + + class FlcModes(Enum): + off = "off" + locked = "locked" + unlocked = "unlocked" + + + class SgxStates(Enum): + notPresent = "notpresent" + disabledBIOS = "disabledbios" + disabledCFW101 = "disabledcfw101" + disabledCPUMismatch = "disabledcpumismatch" + disabledNoFLC = "disablednoflc" + disabledNUMAUnsup = "disablednumaunsup" + disabledMaxEPCRegs = "disabledmaxepcregs" + enabled = "enabled" + + +class SgxRegistrationInfo(vmodl.DynamicData): + @property + def status(self) -> str: ... + @property + def biosError(self) -> int: ... + @property + def registrationUrl(self) -> str: ... + @property + def type(self) -> str: ... + @property + def ppid(self) -> str: ... + @property + def lastRegisteredTime(self) -> datetime: ... + + + class RegistrationStatus(Enum): + notApplicable = "notapplicable" + incomplete = "incomplete" + complete = "complete" + + + class RegistrationType(Enum): + manifest = "manifest" + addPackage = "addpackage" + + +class SharedGpuCapabilities(vmodl.DynamicData): + @property + def vgpu(self) -> str: ... + @property + def diskSnapshotSupported(self) -> bool: ... + @property + def memorySnapshotSupported(self) -> bool: ... + @property + def suspendSupported(self) -> bool: ... + @property + def migrateSupported(self) -> bool: ... + + +class SoftwarePackage(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def type(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def acceptanceLevel(self) -> str: ... + @property + def summary(self) -> str: ... + @property + def description(self) -> str: ... + @property + def referenceURL(self) -> List[str]: ... + @property + def creationDate(self) -> datetime: ... + @property + def depends(self) -> List[SoftwarePackage.Relation]: ... + @property + def conflicts(self) -> List[SoftwarePackage.Relation]: ... + @property + def replaces(self) -> List[SoftwarePackage.Relation]: ... + @property + def provides(self) -> List[str]: ... + @property + def maintenanceModeRequired(self) -> bool: ... + @property + def hardwarePlatformsRequired(self) -> List[str]: ... + @property + def capability(self) -> SoftwarePackage.Capability: ... + @property + def tag(self) -> List[str]: ... + @property + def payload(self) -> List[str]: ... + + + class Relation(vmodl.DynamicData): + @property + def constraint(self) -> str: ... + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + + + class Constraint(Enum): + equals = "equals" + lessThan = "lessthan" + lessThanEqual = "lessthanequal" + greaterThanEqual = "greaterthanequal" + greaterThan = "greaterthan" + + + class VibType(Enum): + bootbank = "bootbank" + tools = "tools" + meta = "meta" + + +class SriovConfig(PciPassthruConfig): + @property + def sriovEnabled(self) -> bool: ... + @property + def numVirtualFunction(self) -> int: ... + + +class SriovDevicePoolInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + + +class SriovInfo(PciPassthruInfo): + @property + def sriovEnabled(self) -> bool: ... + @property + def sriovCapable(self) -> bool: ... + @property + def sriovActive(self) -> bool: ... + @property + def numVirtualFunctionRequested(self) -> int: ... + @property + def numVirtualFunction(self) -> int: ... + @property + def maxVirtualFunctionSupported(self) -> int: ... + + +class SriovNetworkDevicePoolInfo(SriovDevicePoolInfo): + @property + def switchKey(self) -> str: ... + @property + def switchUuid(self) -> str: ... + @property + def pnic(self) -> List[PhysicalNic]: ... + + +class SslThumbprintInfo(vmodl.DynamicData): + @property + def principal(self) -> str: ... + @property + def ownerTag(self) -> str: ... + @property + def sslThumbprints(self) -> List[str]: ... + + +class StorageArrayTypePolicyOption(vmodl.DynamicData): + @property + def policy(self) -> vim.ElementDescription: ... + + +class StorageDeviceInfo(vmodl.DynamicData): + @property + def hostBusAdapter(self) -> List[HostBusAdapter]: ... + @property + def scsiLun(self) -> List[ScsiLun]: ... + @property + def scsiTopology(self) -> ScsiTopology: ... + @property + def nvmeTopology(self) -> NvmeTopology: ... + @property + def multipathInfo(self) -> MultipathInfo: ... + @property + def plugStoreTopology(self) -> PlugStoreTopology: ... + @property + def softwareInternetScsiEnabled(self) -> bool: ... + + +class SystemEventInfo(vmodl.DynamicData): + @property + def recordId(self) -> long: ... + @property + def when(self) -> str: ... + @property + def selType(self) -> long: ... + @property + def message(self) -> str: ... + @property + def sensorNumber(self) -> long: ... + + +class SystemHealthInfo(vmodl.DynamicData): + @property + def numericSensorInfo(self) -> List[NumericSensorInfo]: ... + + +class SystemIdentificationInfo(vmodl.DynamicData): + @property + def identifierValue(self) -> str: ... + @property + def identifierType(self) -> vim.ElementDescription: ... + + + class Identifier(Enum): + AssetTag = "assettag" + ServiceTag = "servicetag" + OemSpecificString = "oemspecificstring" + EnclosureSerialNumberTag = "enclosureserialnumbertag" + SerialNumberTag = "serialnumbertag" + + +class SystemInfo(vmodl.DynamicData): + @property + def vendor(self) -> str: ... + @property + def model(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def otherIdentifyingInfo(self) -> List[SystemIdentificationInfo]: ... + @property + def serialNumber(self) -> str: ... + @property + def qualifiedName(self) -> List[QualifiedName]: ... + @property + def vvolHostNQN(self) -> QualifiedName: ... + @property + def vvolHostId(self) -> str: ... + + +class SystemResourceInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def config(self) -> vim.ResourceConfigSpec: ... + @property + def child(self) -> List[SystemResourceInfo]: ... + + +class SystemSwapConfiguration(vmodl.DynamicData): + @property + def option(self) -> List[SystemSwapConfiguration.SystemSwapOption]: ... + + + class DatastoreOption(SystemSwapConfiguration.SystemSwapOption): + @property + def datastore(self) -> str: ... + + + class DisabledOption(SystemSwapConfiguration.SystemSwapOption): ... + + + class HostCacheOption(SystemSwapConfiguration.SystemSwapOption): ... + + + class HostLocalSwapOption(SystemSwapConfiguration.SystemSwapOption): ... + + + class SystemSwapOption(vmodl.DynamicData): + @property + def key(self) -> int: ... + + +class TargetTransport(vmodl.DynamicData): ... + + +class TcpHba(HostBusAdapter): + @property + def associatedPnic(self) -> str: ... + + +class TcpHbaCreateSpec(HbaCreateSpec): + @property + def pnic(self) -> str: ... + + +class TcpTargetTransport(TargetTransport): ... + + +class TpmAttestationInfo(vmodl.DynamicData): + @property + def time(self) -> datetime: ... + @property + def status(self) -> TpmAttestationInfo.AcceptanceStatus: ... + @property + def message(self) -> vmodl.LocalizableMessage: ... + + + class AcceptanceStatus(Enum): + notAccepted = "notaccepted" + accepted = "accepted" + + +class TpmAttestationReport(vmodl.DynamicData): + @property + def tpmPcrValues(self) -> List[TpmDigestInfo]: ... + @property + def tpmEvents(self) -> List[TpmEventLogEntry]: ... + @property + def tpmLogReliable(self) -> bool: ... + + +class TpmBootCompleteEventDetails(TpmEventDetails): ... + + +class TpmBootSecurityOptionEventDetails(TpmEventDetails): + @property + def bootSecurityOption(self) -> str: ... + + +class TpmCommandEventDetails(TpmEventDetails): + @property + def commandLine(self) -> str: ... + + +class TpmDigestInfo(DigestInfo): + @property + def pcrNumber(self) -> int: ... + + +class TpmEventDetails(vmodl.DynamicData): + @property + def dataHash(self) -> List[byte]: ... + @property + def dataHashMethod(self) -> str: ... + + +class TpmEventLogEntry(vmodl.DynamicData): + @property + def pcrIndex(self) -> int: ... + @property + def eventDetails(self) -> TpmEventDetails: ... + + +class TpmNvTagEventDetails(TpmBootSecurityOptionEventDetails): ... + + +class TpmOptionEventDetails(TpmEventDetails): + @property + def optionsFileName(self) -> str: ... + @property + def bootOptions(self) -> List[byte]: ... + + +class TpmSignerEventDetails(TpmBootSecurityOptionEventDetails): ... + + +class TpmSoftwareComponentEventDetails(TpmEventDetails): + @property + def componentName(self) -> str: ... + @property + def vibName(self) -> str: ... + @property + def vibVersion(self) -> str: ... + @property + def vibVendor(self) -> str: ... + + +class TpmVersionEventDetails(TpmEventDetails): + @property + def version(self) -> binary: ... + + +class TrustAuthorityAttestationInfo(vmodl.DynamicData): + @property + def attestationStatus(self) -> str: ... + @property + def serviceId(self) -> str: ... + @property + def attestedAt(self) -> datetime: ... + @property + def attestedUntil(self) -> datetime: ... + @property + def messages(self) -> List[vmodl.LocalizableMessage]: ... + + + class AttestationStatus(Enum): + attested = "attested" + notAttested = "notattested" + unknown = "unknown" + + +class UnresolvedVmfsExtent(vmodl.DynamicData): + @property + def device(self) -> ScsiDisk.Partition: ... + @property + def devicePath(self) -> str: ... + @property + def vmfsUuid(self) -> str: ... + @property + def isHeadExtent(self) -> bool: ... + @property + def ordinal(self) -> int: ... + @property + def startBlock(self) -> int: ... + @property + def endBlock(self) -> int: ... + @property + def reason(self) -> str: ... + + + class UnresolvedReason(Enum): + diskIdMismatch = "diskidmismatch" + uuidConflict = "uuidconflict" + + +class UnresolvedVmfsResignatureSpec(vmodl.DynamicData): + @property + def extentDevicePath(self) -> List[str]: ... + + +class UnresolvedVmfsResolutionResult(vmodl.DynamicData): + @property + def spec(self) -> UnresolvedVmfsResolutionSpec: ... + @property + def vmfs(self) -> VmfsVolume: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class UnresolvedVmfsResolutionSpec(vmodl.DynamicData): + @property + def extentDevicePath(self) -> List[str]: ... + @property + def uuidResolution(self) -> str: ... + + + class VmfsUuidResolution(Enum): + resignature = "resignature" + forceMount = "forcemount" + + +class UnresolvedVmfsVolume(vmodl.DynamicData): + @property + def extent(self) -> List[UnresolvedVmfsExtent]: ... + @property + def vmfsLabel(self) -> str: ... + @property + def vmfsUuid(self) -> str: ... + @property + def totalBlocks(self) -> int: ... + @property + def resolveStatus(self) -> UnresolvedVmfsVolume.ResolveStatus: ... + + + class ResolveStatus(vmodl.DynamicData): + @property + def resolvable(self) -> bool: ... + @property + def incompleteExtents(self) -> bool: ... + @property + def multipleCopies(self) -> bool: ... + + +class VFlashResourceConfigurationResult(vmodl.DynamicData): + @property + def devicePath(self) -> List[str]: ... + @property + def vffs(self) -> VffsVolume: ... + @property + def diskConfigurationResult(self) -> List[DiskConfigurationResult]: ... + + +class VMotionConfig(vmodl.DynamicData): + @property + def vmotionNicKey(self) -> str: ... + @property + def enabled(self) -> bool: ... + + +class VMotionInfo(vmodl.DynamicData): + @property + def netConfig(self) -> VMotionSystem.NetConfig: ... + @property + def ipConfig(self) -> IpConfig: ... + + +class DstInstantCloneResult(vmodl.DynamicData): + @property + def dstVmId(self) -> int: ... + @property + def startTime(self) -> long: ... + @property + def cptLoadTime(self) -> long: ... + @property + def cptLoadDoneTime(self) -> long: ... + @property + def replicateMemDoneTime(self) -> long: ... + @property + def endTime(self) -> long: ... + @property + def cptXferTime(self) -> long: ... + @property + def cptCacheUsed(self) -> long: ... + @property + def devCptStreamSize(self) -> long: ... + @property + def devCptStreamTime(self) -> long: ... + + +class SrcInstantCloneResult(vmodl.DynamicData): + @property + def startTime(self) -> long: ... + @property + def quiesceTime(self) -> long: ... + @property + def quiesceDoneTime(self) -> long: ... + @property + def resumeDoneTime(self) -> long: ... + @property + def endTime(self) -> long: ... + + +class VfatVolume(FileSystemVolume): ... + + +class VffsVolume(FileSystemVolume): + @property + def majorVersion(self) -> int: ... + @property + def version(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def extent(self) -> List[ScsiDisk.Partition]: ... + + +class VirtualNic(vmodl.DynamicData): + @property + def device(self) -> str: ... + @property + def key(self) -> str: ... + @property + def portgroup(self) -> str: ... + @property + def spec(self) -> VirtualNic.Specification: ... + @property + def port(self) -> Link: ... + + + class IpRouteSpec(vmodl.DynamicData): + @property + def ipRouteConfig(self) -> IpRouteConfig: ... + + + class OpaqueNetworkSpec(vmodl.DynamicData): + @property + def opaqueNetworkId(self) -> str: ... + @property + def opaqueNetworkType(self) -> str: ... + + +class VirtualNicConnection(vmodl.DynamicData): + @property + def portgroup(self) -> str: ... + @property + def dvPort(self) -> vim.dvs.PortConnection: ... + @property + def opNetwork(self) -> VirtualNic.OpaqueNetworkSpec: ... + + +class VirtualNicManagerInfo(vmodl.DynamicData): + @property + def netConfig(self) -> List[VirtualNicManager.NetConfig]: ... + + +class VirtualSwitch(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def key(self) -> str: ... + @property + def numPorts(self) -> int: ... + @property + def numPortsAvailable(self) -> int: ... + @property + def mtu(self) -> int: ... + @property + def portgroup(self) -> List[Link]: ... + @property + def pnic(self) -> List[Link]: ... + @property + def spec(self) -> VirtualSwitch.Specification: ... + + + class AutoBridge(VirtualSwitch.Bridge): + @property + def excludedNicDevice(self) -> List[str]: ... + + + class BeaconConfig(vmodl.DynamicData): + @property + def interval(self) -> int: ... + + + class BondBridge(VirtualSwitch.Bridge): + @property + def nicDevice(self) -> List[str]: ... + @property + def beacon(self) -> VirtualSwitch.BeaconConfig: ... + @property + def linkDiscoveryProtocolConfig(self) -> LinkDiscoveryProtocolConfig: ... + + + class Bridge(vmodl.DynamicData): ... + + + class SimpleBridge(VirtualSwitch.Bridge): + @property + def nicDevice(self) -> str: ... + + +class AccessSpec(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def services(self) -> List[str]: ... + @property + def mode(self) -> str: ... + + +class VmfsDatastoreCreateSpec(VmfsDatastoreSpec): + @property + def partition(self) -> DiskPartitionInfo.Specification: ... + @property + def vmfs(self) -> VmfsVolume.Specification: ... + @property + def extent(self) -> List[ScsiDisk.Partition]: ... + + +class VmfsDatastoreExpandSpec(VmfsDatastoreSpec): + @property + def partition(self) -> DiskPartitionInfo.Specification: ... + @property + def extent(self) -> ScsiDisk.Partition: ... + + +class VmfsDatastoreExtendSpec(VmfsDatastoreSpec): + @property + def partition(self) -> DiskPartitionInfo.Specification: ... + @property + def extent(self) -> List[ScsiDisk.Partition]: ... + + +class VmfsDatastoreInfo(vim.Datastore.Info): + @property + def maxPhysicalRDMFileSize(self) -> long: ... + @property + def maxVirtualRDMFileSize(self) -> long: ... + @property + def vmfs(self) -> VmfsVolume: ... + + +class VmfsDatastoreOption(vmodl.DynamicData): + @property + def info(self) -> VmfsDatastoreOption.Info: ... + @property + def spec(self) -> VmfsDatastoreSpec: ... + + + class AllExtentInfo(VmfsDatastoreOption.SingleExtentInfo): ... + + + class MultipleExtentInfo(VmfsDatastoreOption.Info): + @property + def vmfsExtent(self) -> List[DiskPartitionInfo.BlockRange]: ... + + + class SingleExtentInfo(VmfsDatastoreOption.Info): + @property + def vmfsExtent(self) -> DiskPartitionInfo.BlockRange: ... + + +class VmfsDatastoreSpec(vmodl.DynamicData): + @property + def diskUuid(self) -> str: ... + + +class VmfsRescanResult(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + +class VmfsVolume(FileSystemVolume): + @property + def blockSizeMb(self) -> int: ... + @property + def blockSize(self) -> int: ... + @property + def unmapGranularity(self) -> int: ... + @property + def unmapPriority(self) -> str: ... + @property + def unmapBandwidthSpec(self) -> VmfsVolume.UnmapBandwidthSpec: ... + @property + def maxBlocks(self) -> int: ... + @property + def majorVersion(self) -> int: ... + @property + def version(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def extent(self) -> List[ScsiDisk.Partition]: ... + @property + def vmfsUpgradable(self) -> bool: ... + @property + def forceMountedInfo(self) -> ForceMountedInfo: ... + @property + def ssd(self) -> bool: ... + @property + def local(self) -> bool: ... + @property + def scsiDiskType(self) -> str: ... + + + class ConfigOption(vmodl.DynamicData): + @property + def blockSizeOption(self) -> int: ... + @property + def unmapGranularityOption(self) -> List[int]: ... + @property + def unmapBandwidthFixedValue(self) -> vim.option.LongOption: ... + @property + def unmapBandwidthDynamicMin(self) -> vim.option.LongOption: ... + @property + def unmapBandwidthDynamicMax(self) -> vim.option.LongOption: ... + @property + def unmapBandwidthIncrement(self) -> long: ... + @property + def unmapBandwidthUltraLow(self) -> long: ... + + + class UnmapBandwidthSpec(vmodl.DynamicData): + @property + def policy(self) -> str: ... + @property + def fixedValue(self) -> long: ... + @property + def dynamicMin(self) -> long: ... + @property + def dynamicMax(self) -> long: ... + + + class UnmapBandwidthPolicy(Enum): + fixed = "fixed" + dynamic = "dynamic" + + + class UnmapPriority(Enum): + none = "none" + low = "low" + + +class VsanDatastoreInfo(vim.Datastore.Info): + @property + def membershipUuid(self) -> str: ... + @property + def accessGenNo(self) -> int: ... + + +class VvolDatastoreInfo(vim.Datastore.Info): + @property + def vvolDS(self) -> VvolVolume: ... + + +class VvolVolume(FileSystemVolume): + @property + def scId(self) -> str: ... + @property + def hostPE(self) -> List[VvolVolume.HostProtocolEndpoint]: ... + @property + def vasaProviderInfo(self) -> List[vim.VimVasaProviderInfo]: ... + @property + def storageArray(self) -> List[vim.VasaStorageArray]: ... + @property + def protocolEndpointType(self) -> str: ... + + + class HostProtocolEndpoint(vmodl.DynamicData): + @property + def key(self) -> vim.HostSystem: ... + @property + def protocolEndpoint(self) -> List[ProtocolEndpoint]: ... + + +class FileType(vim.version.version10): ... + + +class ReloadTarget(vim.version.version5): ... + + +class Mode(vim.version.version7): ... \ No newline at end of file diff --git a/pyVmomi/vim/net/__init__.pyi b/pyVmomi/vim/net/__init__.pyi new file mode 100644 index 000000000..99f6bb294 --- /dev/null +++ b/pyVmomi/vim/net/__init__.pyi @@ -0,0 +1,224 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime + + +class DhcpConfigInfo(vmodl.DynamicData): + @property + def ipv6(self) -> DhcpConfigInfo.DhcpOptions: ... + @property + def ipv4(self) -> DhcpConfigInfo.DhcpOptions: ... + + + class DhcpOptions(vmodl.DynamicData): + @property + def enable(self) -> bool: ... + @property + def config(self) -> List[vim.KeyValue]: ... + + +class DhcpConfigSpec(vmodl.DynamicData): + @property + def ipv6(self) -> DhcpConfigSpec.DhcpOptionsSpec: ... + @property + def ipv4(self) -> DhcpConfigSpec.DhcpOptionsSpec: ... + + + class DhcpOptionsSpec(vmodl.DynamicData): + @property + def enable(self) -> bool: ... + @property + def config(self) -> List[vim.KeyValue]: ... + @property + def operation(self) -> str: ... + + +class DnsConfigInfo(vmodl.DynamicData): + @property + def dhcp(self) -> bool: ... + @property + def hostName(self) -> str: ... + @property + def domainName(self) -> str: ... + @property + def ipAddress(self) -> List[str]: ... + @property + def searchDomain(self) -> List[str]: ... + + +class DnsConfigSpec(vmodl.DynamicData): + @property + def dhcp(self) -> bool: ... + @property + def hostName(self) -> str: ... + @property + def domainName(self) -> str: ... + @property + def ipAddress(self) -> List[str]: ... + @property + def searchDomain(self) -> List[str]: ... + + +class IpConfigInfo(vmodl.DynamicData): + @property + def ipAddress(self) -> List[IpConfigInfo.IpAddress]: ... + @property + def dhcp(self) -> DhcpConfigInfo: ... + @property + def autoConfigurationEnabled(self) -> bool: ... + + + class IpAddress(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def origin(self) -> str: ... + @property + def state(self) -> str: ... + @property + def lifetime(self) -> datetime: ... + + + class IpAddressOrigin(Enum): + other = "other" + manual = "manual" + dhcp = "dhcp" + linklayer = "linklayer" + random = "random" + + + class IpAddressStatus(Enum): + preferred = "preferred" + deprecated = "deprecated" + invalid = "invalid" + inaccessible = "inaccessible" + unknown = "unknown" + tentative = "tentative" + duplicate = "duplicate" + + +class IpConfigSpec(vmodl.DynamicData): + @property + def ipAddress(self) -> List[IpConfigSpec.IpAddressSpec]: ... + @property + def dhcp(self) -> DhcpConfigSpec: ... + @property + def autoConfigurationEnabled(self) -> bool: ... + + + class IpAddressSpec(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def operation(self) -> str: ... + + +class IpRouteConfigInfo(vmodl.DynamicData): + @property + def ipRoute(self) -> List[IpRouteConfigInfo.IpRoute]: ... + + + class Gateway(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def device(self) -> str: ... + + + class IpRoute(vmodl.DynamicData): + @property + def network(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def gateway(self) -> IpRouteConfigInfo.Gateway: ... + + +class IpRouteConfigSpec(vmodl.DynamicData): + @property + def ipRoute(self) -> List[IpRouteConfigSpec.IpRouteSpec]: ... + + + class GatewaySpec(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def device(self) -> str: ... + + + class IpRouteSpec(vmodl.DynamicData): + @property + def network(self) -> str: ... + @property + def prefixLength(self) -> int: ... + @property + def gateway(self) -> IpRouteConfigSpec.GatewaySpec: ... + @property + def operation(self) -> str: ... + + +class IpStackInfo(vmodl.DynamicData): + @property + def neighbor(self) -> List[IpStackInfo.NetToMedia]: ... + @property + def defaultRouter(self) -> List[IpStackInfo.DefaultRouter]: ... + + + class DefaultRouter(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def device(self) -> str: ... + @property + def lifetime(self) -> datetime: ... + @property + def preference(self) -> str: ... + + + class NetToMedia(vmodl.DynamicData): + @property + def ipAddress(self) -> str: ... + @property + def physicalAddress(self) -> str: ... + @property + def device(self) -> str: ... + @property + def type(self) -> str: ... + + + class EntryType(Enum): + other = "other" + invalid = "invalid" + dynamic = "dynamic" + manual = "manual" + + + class Preference(Enum): + reserved = "reserved" + low = "low" + medium = "medium" + high = "high" + + +class NetBIOSConfigInfo(vmodl.DynamicData): + @property + def mode(self) -> str: ... + + + class Mode(Enum): + unknown = "unknown" + enabled = "enabled" + disabled = "disabled" + enabledViaDHCP = "enabledviadhcp" + + +class WinNetBIOSConfigInfo(NetBIOSConfigInfo): + @property + def primaryWINS(self) -> str: ... + @property + def secondaryWINS(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/option/__init__.pyi b/pyVmomi/vim/option/__init__.pyi new file mode 100644 index 000000000..d61e7626c --- /dev/null +++ b/pyVmomi/vim/option/__init__.pyi @@ -0,0 +1,91 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import ManagedObject, NoneType, long + + +class OptionManager(ManagedObject): + @property + def supportedOption(self) -> List[OptionDef]: ... + @property + def setting(self) -> List[OptionValue]: ... + def QueryView(self, name: str) -> List[OptionValue]: ... + def UpdateValues(self, changedValue: List[OptionValue]) -> NoneType: ... + + +class ArrayUpdateSpec(vmodl.DynamicData): + @property + def operation(self) -> ArrayUpdateSpec.Operation: ... + @property + def removeKey(self) -> object: ... + + + class Operation(Enum): + add = "add" + remove = "remove" + edit = "edit" + + +class BoolOption(OptionType): + @property + def supported(self) -> bool: ... + @property + def defaultValue(self) -> bool: ... + + +class ChoiceOption(OptionType): + @property + def choiceInfo(self) -> List[vim.ElementDescription]: ... + @property + def defaultIndex(self) -> int: ... + + +class FloatOption(OptionType): + @property + def min(self) -> float: ... + @property + def max(self) -> float: ... + @property + def defaultValue(self) -> float: ... + + +class IntOption(OptionType): + @property + def min(self) -> int: ... + @property + def max(self) -> int: ... + @property + def defaultValue(self) -> int: ... + + +class LongOption(OptionType): + @property + def min(self) -> long: ... + @property + def max(self) -> long: ... + @property + def defaultValue(self) -> long: ... + + +class OptionDef(vim.ElementDescription): + @property + def optionType(self) -> OptionType: ... + + +class OptionType(vmodl.DynamicData): + @property + def valueIsReadonly(self) -> bool: ... + + +class OptionValue(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> object: ... + + +class StringOption(OptionType): + @property + def defaultValue(self) -> str: ... + @property + def validCharacters(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/profile/__init__.pyi b/pyVmomi/vim/profile/__init__.pyi new file mode 100644 index 000000000..756ce4f8e --- /dev/null +++ b/pyVmomi/vim/profile/__init__.pyi @@ -0,0 +1,351 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, PropertyPath + + +class ComplianceManager(ManagedObject): + def CheckCompliance(self, profile: List[Profile], entity: List[vim.ManagedEntity]) -> vim.Task: ... + def QueryComplianceStatus(self, profile: List[Profile], entity: List[vim.ManagedEntity]) -> List[ComplianceResult]: ... + def ClearComplianceStatus(self, profile: List[Profile], entity: List[vim.ManagedEntity]) -> NoneType: ... + def QueryExpressionMetadata(self, expressionName: List[str], profile: Profile) -> List[ExpressionMetadata]: ... + + +class Profile(ManagedObject): + @property + def config(self) -> Profile.ConfigInfo: ... + @property + def description(self) -> Profile.Description: ... + @property + def name(self) -> str: ... + @property + def createdTime(self) -> datetime: ... + @property + def modifiedTime(self) -> datetime: ... + @property + def entity(self) -> List[vim.ManagedEntity]: ... + @property + def complianceStatus(self) -> str: ... + def RetrieveDescription(self) -> Profile.Description: ... + def Destroy(self) -> NoneType: ... + def AssociateEntities(self, entity: List[vim.ManagedEntity]) -> NoneType: ... + def DissociateEntities(self, entity: List[vim.ManagedEntity]) -> NoneType: ... + def CheckCompliance(self, entity: List[vim.ManagedEntity]) -> vim.Task: ... + def ExportProfile(self) -> str: ... + + + class ConfigInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def annotation(self) -> str: ... + @property + def enabled(self) -> bool: ... + + + class CreateSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def annotation(self) -> str: ... + @property + def enabled(self) -> bool: ... + + + class Description(vmodl.DynamicData): + @property + def section(self) -> List[Profile.Description.Section]: ... + + + class Section(vmodl.DynamicData): + @property + def description(self) -> vim.ExtendedElementDescription: ... + @property + def message(self) -> List[vmodl.LocalizableMessage]: ... + + + class SerializedCreateSpec(Profile.CreateSpec): + @property + def profileConfigString(self) -> str: ... + + +class ProfileManager(ManagedObject): + @property + def profile(self) -> List[Profile]: ... + def CreateProfile(self, createSpec: Profile.CreateSpec) -> Profile: ... + def QueryPolicyMetadata(self, policyName: List[str], profile: Profile) -> List[PolicyMetadata]: ... + def FindAssociatedProfile(self, entity: vim.ManagedEntity) -> List[Profile]: ... + + +class ApplyProfile(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def policy(self) -> List[Policy]: ... + @property + def profileTypeName(self) -> str: ... + @property + def profileVersion(self) -> str: ... + @property + def property(self) -> List[ApplyProfileProperty]: ... + @property + def favorite(self) -> bool: ... + @property + def toBeMerged(self) -> bool: ... + @property + def toReplaceWith(self) -> bool: ... + @property + def toBeDeleted(self) -> bool: ... + @property + def copyEnableStatus(self) -> bool: ... + @property + def hidden(self) -> bool: ... + + +class ApplyProfileElement(ApplyProfile): + @property + def key(self) -> str: ... + + +class ApplyProfileProperty(vmodl.DynamicData): + @property + def propertyName(self) -> str: ... + @property + def array(self) -> bool: ... + @property + def profile(self) -> List[ApplyProfile]: ... + + +class ComplianceLocator(vmodl.DynamicData): + @property + def expressionName(self) -> str: ... + @property + def applyPath(self) -> ProfilePropertyPath: ... + + +class ComplianceProfile(vmodl.DynamicData): + @property + def expression(self) -> List[Expression]: ... + @property + def rootExpression(self) -> str: ... + + +class ComplianceResult(vmodl.DynamicData): + @property + def profile(self) -> Profile: ... + @property + def complianceStatus(self) -> str: ... + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def checkTime(self) -> datetime: ... + @property + def failure(self) -> List[ComplianceResult.ComplianceFailure]: ... + + + class ComplianceFailure(vmodl.DynamicData): + @property + def failureType(self) -> str: ... + @property + def message(self) -> vmodl.LocalizableMessage: ... + @property + def expressionName(self) -> str: ... + @property + def failureValues(self) -> List[ComplianceResult.ComplianceFailure.ComplianceFailureValues]: ... + + + class ComplianceFailureValues(vmodl.DynamicData): + @property + def comparisonIdentifier(self) -> str: ... + @property + def profileInstance(self) -> str: ... + @property + def hostValue(self) -> object: ... + @property + def profileValue(self) -> object: ... + + + class Status(Enum): + compliant = "compliant" + nonCompliant = "noncompliant" + unknown = "unknown" + running = "running" + + +class CompositeExpression(Expression): + @property + def operator(self) -> str: ... + @property + def expressionName(self) -> List[str]: ... + + +class CompositePolicyOption(PolicyOption): + @property + def option(self) -> List[PolicyOption]: ... + + +class CompositePolicyOptionMetadata(PolicyOptionMetadata): + @property + def option(self) -> List[str]: ... + + +class DeferredPolicyOptionParameter(vmodl.DynamicData): + @property + def inputPath(self) -> ProfilePropertyPath: ... + @property + def parameter(self) -> List[vmodl.KeyAnyValue]: ... + + +class Expression(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def displayName(self) -> str: ... + @property + def negated(self) -> bool: ... + + +class ExpressionMetadata(vmodl.DynamicData): + @property + def expressionId(self) -> vim.ExtendedElementDescription: ... + @property + def parameter(self) -> List[ParameterMetadata]: ... + + +class ParameterMetadata(vmodl.DynamicData): + @property + def id(self) -> vim.ExtendedElementDescription: ... + @property + def type(self) -> type: ... + @property + def optional(self) -> bool: ... + @property + def defaultValue(self) -> object: ... + @property + def hidden(self) -> bool: ... + @property + def securitySensitive(self) -> bool: ... + @property + def readOnly(self) -> bool: ... + @property + def parameterRelations(self) -> List[ParameterMetadata.ParameterRelationMetadata]: ... + + + class ParameterRelationMetadata(vmodl.DynamicData): + @property + def relationTypes(self) -> List[str]: ... + @property + def values(self) -> List[object]: ... + @property + def path(self) -> ProfilePropertyPath: ... + @property + def minCount(self) -> int: ... + @property + def maxCount(self) -> int: ... + + + class RelationType(Enum): + dynamic_relation = "dynamic_relation" + extensible_relation = "extensible_relation" + localizable_relation = "localizable_relation" + static_relation = "static_relation" + validation_relation = "validation_relation" + + +class Policy(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def policyOption(self) -> PolicyOption: ... + + +class PolicyMetadata(vmodl.DynamicData): + @property + def id(self) -> vim.ExtendedElementDescription: ... + @property + def possibleOption(self) -> List[PolicyOptionMetadata]: ... + + +class PolicyOption(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def parameter(self) -> List[vmodl.KeyAnyValue]: ... + + +class PolicyOptionMetadata(vmodl.DynamicData): + @property + def id(self) -> vim.ExtendedElementDescription: ... + @property + def parameter(self) -> List[ParameterMetadata]: ... + + +class ProfileMetadata(vmodl.DynamicData): + @property + def key(self) -> type: ... + @property + def profileTypeName(self) -> str: ... + @property + def description(self) -> vim.ExtendedDescription: ... + @property + def sortSpec(self) -> List[ProfileMetadata.ProfileSortSpec]: ... + @property + def profileCategory(self) -> str: ... + @property + def profileComponent(self) -> str: ... + @property + def operationMessages(self) -> List[ProfileMetadata.ProfileOperationMessage]: ... + + + class ProfileOperationMessage(vmodl.DynamicData): + @property + def operationName(self) -> str: ... + @property + def message(self) -> vmodl.LocalizableMessage: ... + + + class ProfileSortSpec(vmodl.DynamicData): + @property + def policyId(self) -> str: ... + @property + def parameter(self) -> str: ... + + +class ProfilePropertyPath(vmodl.DynamicData): + @property + def profilePath(self) -> PropertyPath: ... + @property + def policyId(self) -> str: ... + @property + def parameterId(self) -> str: ... + @property + def policyOptionId(self) -> str: ... + + +class ProfileStructure(vmodl.DynamicData): + @property + def profileTypeName(self) -> str: ... + @property + def child(self) -> List[ProfileStructureProperty]: ... + + +class ProfileStructureProperty(vmodl.DynamicData): + @property + def propertyName(self) -> str: ... + @property + def array(self) -> bool: ... + @property + def element(self) -> ProfileStructure: ... + + +class SimpleExpression(Expression): + @property + def expressionType(self) -> str: ... + @property + def parameter(self) -> List[vmodl.KeyAnyValue]: ... + + +class UserInputRequiredParameterMetadata(PolicyOptionMetadata): + @property + def userInputParameter(self) -> List[ParameterMetadata]: ... \ No newline at end of file diff --git a/pyVmomi/vim/profile/cluster/__init__.pyi b/pyVmomi/vim/profile/cluster/__init__.pyi new file mode 100644 index 000000000..5467e9447 --- /dev/null +++ b/pyVmomi/vim/profile/cluster/__init__.pyi @@ -0,0 +1,39 @@ +from typing import List +from enum import Enum +from pyVmomi import vim +from pyVmomi.VmomiSupport import NoneType + + +class ClusterProfile(vim.profile.Profile): + def Update(self, config: ClusterProfile.ConfigSpec) -> NoneType: ... + + + class CompleteConfigSpec(ClusterProfile.ConfigSpec): + @property + def complyProfile(self) -> vim.profile.ComplianceProfile: ... + + + class ConfigInfo(vim.profile.Profile.ConfigInfo): + @property + def complyProfile(self) -> vim.profile.ComplianceProfile: ... + + + class ConfigServiceCreateSpec(ClusterProfile.ConfigSpec): + @property + def serviceType(self) -> List[str]: ... + + + class ConfigSpec(ClusterProfile.CreateSpec): ... + + + class CreateSpec(vim.profile.Profile.CreateSpec): ... + + + class ServiceType(Enum): + DRS = "drs" + HA = "ha" + DPM = "dpm" + FT = "ft" + + +class ProfileManager(vim.profile.ProfileManager): ... \ No newline at end of file diff --git a/pyVmomi/vim/profile/host/__init__.pyi b/pyVmomi/vim/profile/host/__init__.pyi new file mode 100644 index 000000000..dbd55487c --- /dev/null +++ b/pyVmomi/vim/profile/host/__init__.pyi @@ -0,0 +1,559 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, PropertyPath, binary, byte + + +class HostProfile(vim.profile.Profile): + @property + def validationState(self) -> str: ... + @property + def validationStateUpdateTime(self) -> datetime: ... + @property + def validationFailureInfo(self) -> HostProfile.ValidationFailureInfo: ... + @property + def complianceCheckTime(self) -> datetime: ... + @property + def referenceHost(self) -> vim.HostSystem: ... + def ResetValidationState(self) -> NoneType: ... + def UpdateReferenceHost(self, host: vim.HostSystem) -> NoneType: ... + def Update(self, config: HostProfile.ConfigSpec) -> NoneType: ... + def Execute(self, host: vim.HostSystem, deferredParam: List[vim.profile.DeferredPolicyOptionParameter]) -> ExecuteResult: ... + + + class CompleteConfigSpec(HostProfile.ConfigSpec): + @property + def applyProfile(self) -> HostApplyProfile: ... + @property + def customComplyProfile(self) -> vim.profile.ComplianceProfile: ... + @property + def disabledExpressionListChanged(self) -> bool: ... + @property + def disabledExpressionList(self) -> List[str]: ... + @property + def validatorHost(self) -> vim.HostSystem: ... + @property + def validating(self) -> bool: ... + @property + def hostConfig(self) -> HostProfile.ConfigInfo: ... + + + class ConfigInfo(vim.profile.Profile.ConfigInfo): + @property + def applyProfile(self) -> HostApplyProfile: ... + @property + def defaultComplyProfile(self) -> vim.profile.ComplianceProfile: ... + @property + def defaultComplyLocator(self) -> List[vim.profile.ComplianceLocator]: ... + @property + def customComplyProfile(self) -> vim.profile.ComplianceProfile: ... + @property + def disabledExpressionList(self) -> List[str]: ... + @property + def description(self) -> vim.profile.Profile.Description: ... + + + class ConfigSpec(vim.profile.Profile.CreateSpec): ... + + + class HostBasedConfigSpec(HostProfile.ConfigSpec): + @property + def host(self) -> vim.HostSystem: ... + @property + def useHostProfileEngine(self) -> bool: ... + + + class SerializedHostProfileSpec(vim.profile.Profile.SerializedCreateSpec): + @property + def validatorHost(self) -> vim.HostSystem: ... + @property + def validating(self) -> bool: ... + + + class ValidationFailureInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def annotation(self) -> str: ... + @property + def updateType(self) -> str: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def applyProfile(self) -> HostApplyProfile: ... + @property + def failures(self) -> List[vim.fault.ProfileUpdateFailed.UpdateFailure]: ... + @property + def faults(self) -> List[vmodl.MethodFault]: ... + + + class UpdateType(Enum): + HostBased = "hostbased" + Import = "import" + Edit = "edit" + Compose = "compose" + + + class ValidationState(Enum): + Ready = "ready" + Running = "running" + Failed = "failed" + + +class HostSpecificationManager(ManagedObject): + def UpdateHostSpecification(self, host: vim.HostSystem, hostSpec: HostSpecification) -> NoneType: ... + def UpdateHostSubSpecification(self, host: vim.HostSystem, hostSubSpec: HostSubSpecification) -> NoneType: ... + def RetrieveHostSpecification(self, host: vim.HostSystem, fromHost: bool) -> HostSpecification: ... + def DeleteHostSubSpecification(self, host: vim.HostSystem, subSpecName: str) -> NoneType: ... + def DeleteHostSpecification(self, host: vim.HostSystem) -> NoneType: ... + def GetUpdatedHosts(self, startChangeID: str, endChangeID: str) -> List[vim.HostSystem]: ... + + +class ProfileManager(vim.profile.ProfileManager): + def ApplyHostConfiguration(self, host: vim.HostSystem, configSpec: ConfigSpec, userInput: List[vim.profile.DeferredPolicyOptionParameter]) -> vim.Task: ... + def GenerateConfigTaskList(self, configSpec: ConfigSpec, host: vim.HostSystem) -> ProfileManager.ConfigTaskList: ... + def GenerateTaskList(self, configSpec: ConfigSpec, host: vim.HostSystem) -> vim.Task: ... + def QueryProfileMetadata(self, profileName: List[type], profile: vim.profile.Profile) -> List[vim.profile.ProfileMetadata]: ... + def QueryProfileStructure(self, profile: vim.profile.Profile) -> vim.profile.ProfileStructure: ... + def CreateDefaultProfile(self, profileType: type, profileTypeName: str, profile: vim.profile.Profile) -> vim.profile.ApplyProfile: ... + def UpdateAnswerFile(self, host: vim.HostSystem, configSpec: ProfileManager.AnswerFileCreateSpec) -> vim.Task: ... + def RetrieveAnswerFile(self, host: vim.HostSystem) -> AnswerFile: ... + def RetrieveAnswerFileForProfile(self, host: vim.HostSystem, applyProfile: HostApplyProfile) -> AnswerFile: ... + def ExportAnswerFile(self, host: vim.HostSystem) -> vim.Task: ... + def CheckAnswerFileStatus(self, host: List[vim.HostSystem]) -> vim.Task: ... + def QueryAnswerFileStatus(self, host: List[vim.HostSystem]) -> List[AnswerFileStatusResult]: ... + def UpdateHostCustomizations(self, hostToConfigSpecMap: List[ProfileManager.HostToConfigSpecMap]) -> vim.Task: ... + def RetrieveHostCustomizations(self, hosts: List[vim.HostSystem]) -> List[ProfileManager.StructuredCustomizations]: ... + def RetrieveHostCustomizationsForProfile(self, hosts: List[vim.HostSystem], applyProfile: HostApplyProfile) -> List[ProfileManager.StructuredCustomizations]: ... + def GenerateHostConfigTaskSpec(self, hostsInfo: List[ProfileManager.StructuredCustomizations]) -> vim.Task: ... + def ApplyEntitiesConfiguration(self, applyConfigSpecs: List[ProfileManager.ApplyHostConfigSpec]) -> vim.Task: ... + def ValidateComposition(self, source: vim.profile.Profile, targets: List[vim.profile.Profile], toBeMerged: HostApplyProfile, toReplaceWith: HostApplyProfile, toBeDeleted: HostApplyProfile, enableStatusToBeCopied: HostApplyProfile, errorOnly: bool) -> vim.Task: ... + def CompositeProfile(self, source: vim.profile.Profile, targets: List[vim.profile.Profile], toBeMerged: HostApplyProfile, toBeReplacedWith: HostApplyProfile, toBeDeleted: HostApplyProfile, enableStatusToBeCopied: HostApplyProfile) -> vim.Task: ... + + + class AnswerFileCreateSpec(vmodl.DynamicData): + @property + def validating(self) -> bool: ... + + + class AnswerFileOptionsCreateSpec(ProfileManager.AnswerFileCreateSpec): + @property + def userInput(self) -> List[vim.profile.DeferredPolicyOptionParameter]: ... + + + class AnswerFileSerializedCreateSpec(ProfileManager.AnswerFileCreateSpec): + @property + def answerFileConfigString(self) -> str: ... + + + class ApplyHostConfigResult(vmodl.DynamicData): + @property + def startTime(self) -> datetime: ... + @property + def completeTime(self) -> datetime: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def status(self) -> str: ... + @property + def errors(self) -> List[vmodl.MethodFault]: ... + + + class ApplyHostConfigSpec(ExecuteResult): + @property + def host(self) -> vim.HostSystem: ... + @property + def taskListRequirement(self) -> List[str]: ... + @property + def taskDescription(self) -> List[vmodl.LocalizableMessage]: ... + @property + def rebootStateless(self) -> bool: ... + @property + def rebootHost(self) -> bool: ... + @property + def faultData(self) -> vmodl.MethodFault: ... + + + class CompositionResult(vmodl.DynamicData): + @property + def errors(self) -> List[vmodl.LocalizableMessage]: ... + @property + def results(self) -> List[ProfileManager.CompositionResult.ResultElement]: ... + + + class ResultElement(vmodl.DynamicData): + @property + def target(self) -> vim.profile.Profile: ... + @property + def status(self) -> str: ... + @property + def errors(self) -> List[vmodl.LocalizableMessage]: ... + + + class CompositionValidationResult(vmodl.DynamicData): + @property + def results(self) -> List[ProfileManager.CompositionValidationResult.ResultElement]: ... + @property + def errors(self) -> List[vmodl.LocalizableMessage]: ... + + + class ConfigTaskList(vmodl.DynamicData): + @property + def configSpec(self) -> ConfigSpec: ... + @property + def taskDescription(self) -> List[vmodl.LocalizableMessage]: ... + @property + def taskListRequirement(self) -> List[str]: ... + + + class EntityCustomizations(vmodl.DynamicData): ... + + + class HostToConfigSpecMap(vmodl.DynamicData): + @property + def host(self) -> vim.HostSystem: ... + @property + def configSpec(self) -> ProfileManager.AnswerFileCreateSpec: ... + + + class StructuredCustomizations(ProfileManager.EntityCustomizations): + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def customizations(self) -> AnswerFile: ... + + + class AnswerFileStatus(Enum): + valid = "valid" + invalid = "invalid" + unknown = "unknown" + + + class TaskListRequirement(Enum): + maintenanceModeRequired = "maintenancemoderequired" + rebootRequired = "rebootrequired" + + +class ActiveDirectoryProfile(vim.profile.ApplyProfile): ... + + +class AnswerFile(vmodl.DynamicData): + @property + def userInput(self) -> List[vim.profile.DeferredPolicyOptionParameter]: ... + @property + def createdTime(self) -> datetime: ... + @property + def modifiedTime(self) -> datetime: ... + + +class AnswerFileStatusResult(vmodl.DynamicData): + @property + def checkedTime(self) -> datetime: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def status(self) -> str: ... + @property + def error(self) -> List[AnswerFileStatusResult.AnswerFileStatusError]: ... + + + class AnswerFileStatusError(vmodl.DynamicData): + @property + def userInputPath(self) -> vim.profile.ProfilePropertyPath: ... + @property + def errMsg(self) -> vmodl.LocalizableMessage: ... + + +class AuthenticationProfile(vim.profile.ApplyProfile): + @property + def activeDirectory(self) -> ActiveDirectoryProfile: ... + + +class DateTimeProfile(vim.profile.ApplyProfile): ... + + +class DvsHostVNicProfile(DvsVNicProfile): ... + + +class DvsProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def uplink(self) -> List[PnicUplinkProfile]: ... + + +class DvsServiceConsoleVNicProfile(DvsVNicProfile): ... + + +class DvsVNicProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + @property + def ipConfig(self) -> IpAddressProfile: ... + + +class ExecuteResult(vmodl.DynamicData): + @property + def status(self) -> str: ... + @property + def configSpec(self) -> ConfigSpec: ... + @property + def inapplicablePath(self) -> List[PropertyPath]: ... + @property + def requireInput(self) -> List[vim.profile.DeferredPolicyOptionParameter]: ... + @property + def error(self) -> List[ExecuteResult.ExecuteError]: ... + + + class ExecuteError(vmodl.DynamicData): + @property + def path(self) -> vim.profile.ProfilePropertyPath: ... + @property + def message(self) -> vmodl.LocalizableMessage: ... + + + class Status(Enum): + success = "success" + needInput = "needinput" + error = "error" + + +class FirewallProfile(vim.profile.ApplyProfile): + @property + def ruleset(self) -> List[FirewallProfile.RulesetProfile]: ... + + + class RulesetProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class HostApplyProfile(vim.profile.ApplyProfile): + @property + def memory(self) -> HostMemoryProfile: ... + @property + def storage(self) -> StorageProfile: ... + @property + def network(self) -> NetworkProfile: ... + @property + def datetime(self) -> DateTimeProfile: ... + @property + def firewall(self) -> FirewallProfile: ... + @property + def security(self) -> SecurityProfile: ... + @property + def service(self) -> List[ServiceProfile]: ... + @property + def option(self) -> List[OptionProfile]: ... + @property + def userAccount(self) -> List[UserProfile]: ... + @property + def usergroupAccount(self) -> List[UserGroupProfile]: ... + @property + def authentication(self) -> AuthenticationProfile: ... + + +class HostMemoryProfile(vim.profile.ApplyProfile): ... + + +class HostPortGroupProfile(PortGroupProfile): + @property + def ipConfig(self) -> IpAddressProfile: ... + + +class HostSpecification(vmodl.DynamicData): + @property + def createdTime(self) -> datetime: ... + @property + def lastModified(self) -> datetime: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def subSpecs(self) -> List[HostSubSpecification]: ... + @property + def changeID(self) -> str: ... + + +class HostSubSpecification(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def createdTime(self) -> datetime: ... + @property + def data(self) -> List[byte]: ... + @property + def binaryData(self) -> binary: ... + + +class IpAddressProfile(vim.profile.ApplyProfile): ... + + +class IpRouteProfile(vim.profile.ApplyProfile): + @property + def staticRoute(self) -> List[StaticRouteProfile]: ... + + +class NasStorageProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class NetStackInstanceProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + @property + def dnsConfig(self) -> NetworkProfile.DnsConfigProfile: ... + @property + def ipRouteConfig(self) -> IpRouteProfile: ... + + +class NetworkPolicyProfile(vim.profile.ApplyProfile): ... + + +class NetworkProfile(vim.profile.ApplyProfile): + @property + def vswitch(self) -> List[VirtualSwitchProfile]: ... + @property + def vmPortGroup(self) -> List[VmPortGroupProfile]: ... + @property + def hostPortGroup(self) -> List[HostPortGroupProfile]: ... + @property + def serviceConsolePortGroup(self) -> List[ServiceConsolePortGroupProfile]: ... + @property + def dnsConfig(self) -> NetworkProfile.DnsConfigProfile: ... + @property + def ipRouteConfig(self) -> IpRouteProfile: ... + @property + def consoleIpRouteConfig(self) -> IpRouteProfile: ... + @property + def pnic(self) -> List[PhysicalNicProfile]: ... + @property + def dvswitch(self) -> List[DvsProfile]: ... + @property + def dvsServiceConsoleNic(self) -> List[DvsServiceConsoleVNicProfile]: ... + @property + def dvsHostNic(self) -> List[DvsHostVNicProfile]: ... + @property + def nsxHostNic(self) -> List[NsxHostVNicProfile]: ... + @property + def netStackInstance(self) -> List[NetStackInstanceProfile]: ... + @property + def opaqueSwitch(self) -> OpaqueSwitchProfile: ... + + + class DnsConfigProfile(vim.profile.ApplyProfile): ... + + +class NsxHostVNicProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + @property + def ipConfig(self) -> IpAddressProfile: ... + + +class OpaqueSwitchProfile(vim.profile.ApplyProfile): ... + + +class OptionProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class PermissionProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class PhysicalNicProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class PnicUplinkProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class PortGroupProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def vlan(self) -> PortGroupProfile.VlanProfile: ... + @property + def vswitch(self) -> PortGroupProfile.VirtualSwitchSelectionProfile: ... + @property + def networkPolicy(self) -> NetworkPolicyProfile: ... + + + class VirtualSwitchSelectionProfile(vim.profile.ApplyProfile): ... + + + class VlanProfile(vim.profile.ApplyProfile): ... + + +class SecurityProfile(vim.profile.ApplyProfile): + @property + def permission(self) -> List[PermissionProfile]: ... + + +class ServiceConsolePortGroupProfile(PortGroupProfile): + @property + def ipConfig(self) -> IpAddressProfile: ... + + +class ServiceProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class StaticRouteProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class StorageProfile(vim.profile.ApplyProfile): + @property + def nasStorage(self) -> List[NasStorageProfile]: ... + + +class UserGroupProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class UserProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + + +class VirtualSwitchProfile(vim.profile.ApplyProfile): + @property + def key(self) -> str: ... + @property + def name(self) -> str: ... + @property + def link(self) -> VirtualSwitchProfile.LinkProfile: ... + @property + def numPorts(self) -> VirtualSwitchProfile.NumPortsProfile: ... + @property + def networkPolicy(self) -> NetworkPolicyProfile: ... + + + class LinkProfile(vim.profile.ApplyProfile): ... + + + class NumPortsProfile(vim.profile.ApplyProfile): ... + + +class VmPortGroupProfile(PortGroupProfile): ... + + +class Status(vim.version.version12): ... + + +class Status(vim.version.version12): ... \ No newline at end of file diff --git a/pyVmomi/vim/scheduler/__init__.pyi b/pyVmomi/vim/scheduler/__init__.pyi new file mode 100644 index 000000000..04237a222 --- /dev/null +++ b/pyVmomi/vim/scheduler/__init__.pyi @@ -0,0 +1,166 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType + + +class ScheduledTask(vim.ExtensibleManagedObject): + @property + def info(self) -> ScheduledTaskInfo: ... + def Remove(self) -> NoneType: ... + def Reconfigure(self, spec: ScheduledTaskSpec) -> NoneType: ... + def Run(self) -> NoneType: ... + + +class ScheduledTaskManager(ManagedObject): + @property + def scheduledTask(self) -> List[ScheduledTask]: ... + @property + def description(self) -> ScheduledTaskDescription: ... + def Create(self, entity: vim.ManagedEntity, spec: ScheduledTaskSpec) -> ScheduledTask: ... + def RetrieveEntityScheduledTask(self, entity: vim.ManagedEntity) -> List[ScheduledTask]: ... + def CreateObjectScheduledTask(self, obj: ManagedObject, spec: ScheduledTaskSpec) -> ScheduledTask: ... + def RetrieveObjectScheduledTask(self, obj: ManagedObject) -> List[ScheduledTask]: ... + + +class AfterStartupTaskScheduler(TaskScheduler): + @property + def minute(self) -> int: ... + + +class DailyTaskScheduler(HourlyTaskScheduler): + @property + def hour(self) -> int: ... + + +class HourlyTaskScheduler(RecurrentTaskScheduler): + @property + def minute(self) -> int: ... + + +class MonthlyByDayTaskScheduler(MonthlyTaskScheduler): + @property + def day(self) -> int: ... + + +class MonthlyByWeekdayTaskScheduler(MonthlyTaskScheduler): + @property + def offset(self) -> MonthlyByWeekdayTaskScheduler.WeekOfMonth: ... + @property + def weekday(self) -> MonthlyByWeekdayTaskScheduler.DayOfWeek: ... + + + class DayOfWeek(Enum): + sunday = "sunday" + monday = "monday" + tuesday = "tuesday" + wednesday = "wednesday" + thursday = "thursday" + friday = "friday" + saturday = "saturday" + + + class WeekOfMonth(Enum): + first = "first" + second = "second" + third = "third" + fourth = "fourth" + last = "last" + + +class MonthlyTaskScheduler(DailyTaskScheduler): ... + + +class OnceTaskScheduler(TaskScheduler): + @property + def runAt(self) -> datetime: ... + + +class RecurrentTaskScheduler(TaskScheduler): + @property + def interval(self) -> int: ... + + +class ScheduledTaskDescription(vmodl.DynamicData): + @property + def action(self) -> List[vim.TypeDescription]: ... + @property + def schedulerInfo(self) -> List[ScheduledTaskDescription.SchedulerDetail]: ... + @property + def state(self) -> List[vim.ElementDescription]: ... + @property + def dayOfWeek(self) -> List[vim.ElementDescription]: ... + @property + def weekOfMonth(self) -> List[vim.ElementDescription]: ... + + + class SchedulerDetail(vim.TypeDescription): + @property + def frequency(self) -> str: ... + + +class ScheduledTaskInfo(ScheduledTaskSpec): + @property + def scheduledTask(self) -> ScheduledTask: ... + @property + def entity(self) -> vim.ManagedEntity: ... + @property + def lastModifiedTime(self) -> datetime: ... + @property + def lastModifiedUser(self) -> str: ... + @property + def nextRunTime(self) -> datetime: ... + @property + def prevRunTime(self) -> datetime: ... + @property + def state(self) -> vim.TaskInfo.State: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def result(self) -> object: ... + @property + def progress(self) -> int: ... + @property + def activeTask(self) -> vim.Task: ... + @property + def taskObject(self) -> ManagedObject: ... + + +class ScheduledTaskSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def enabled(self) -> bool: ... + @property + def scheduler(self) -> TaskScheduler: ... + @property + def action(self) -> vim.action.Action: ... + @property + def notification(self) -> str: ... + + +class TaskScheduler(vmodl.DynamicData): + @property + def activeTime(self) -> datetime: ... + @property + def expireTime(self) -> datetime: ... + + +class WeeklyTaskScheduler(DailyTaskScheduler): + @property + def sunday(self) -> bool: ... + @property + def monday(self) -> bool: ... + @property + def tuesday(self) -> bool: ... + @property + def wednesday(self) -> bool: ... + @property + def thursday(self) -> bool: ... + @property + def friday(self) -> bool: ... + @property + def saturday(self) -> bool: ... \ No newline at end of file diff --git a/pyVmomi/vim/tenant/__init__.pyi b/pyVmomi/vim/tenant/__init__.pyi new file mode 100644 index 000000000..c4bd29c0f --- /dev/null +++ b/pyVmomi/vim/tenant/__init__.pyi @@ -0,0 +1,9 @@ +from typing import List +from pyVmomi import vim +from pyVmomi.VmomiSupport import ManagedObject, NoneType + + +class TenantManager(ManagedObject): + def MarkServiceProviderEntities(self, entity: List[vim.ManagedEntity]) -> NoneType: ... + def UnmarkServiceProviderEntities(self, entity: List[vim.ManagedEntity]) -> NoneType: ... + def RetrieveServiceProviderEntities(self) -> List[vim.ManagedEntity]: ... \ No newline at end of file diff --git a/pyVmomi/vim/vcha/__init__.pyi b/pyVmomi/vim/vcha/__init__.pyi new file mode 100644 index 000000000..de32593b6 --- /dev/null +++ b/pyVmomi/vim/vcha/__init__.pyi @@ -0,0 +1,184 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import ManagedMethod, ManagedObject + + +class FailoverClusterConfigurator(ManagedObject): + @property + def disabledConfigureMethod(self) -> List[ManagedMethod]: ... + def Prepare(self, networkSpec: FailoverClusterConfigurator.VchaClusterNetworkSpec) -> vim.Task: ... + def Deploy(self, deploymentSpec: FailoverClusterConfigurator.VchaClusterDeploymentSpec) -> vim.Task: ... + def Configure(self, configSpec: FailoverClusterConfigurator.VchaClusterConfigSpec) -> vim.Task: ... + def CreatePassiveNode(self, passiveDeploymentSpec: FailoverClusterConfigurator.PassiveNodeDeploymentSpec, sourceVcSpec: FailoverClusterConfigurator.SourceNodeSpec) -> vim.Task: ... + def CreateWitnessNode(self, witnessDeploymentSpec: FailoverClusterConfigurator.NodeDeploymentSpec, sourceVcSpec: FailoverClusterConfigurator.SourceNodeSpec) -> vim.Task: ... + def GetConfig(self) -> FailoverClusterConfigurator.VchaClusterConfigInfo: ... + def Destroy(self) -> vim.Task: ... + + + class ClusterNetworkConfigSpec(vmodl.DynamicData): + @property + def networkPortGroup(self) -> vim.Network: ... + @property + def ipSettings(self) -> vim.vm.customization.IPSettings: ... + + + class FailoverNodeInfo(vmodl.DynamicData): + @property + def clusterIpSettings(self) -> vim.vm.customization.IPSettings: ... + @property + def failoverIp(self) -> vim.vm.customization.IPSettings: ... + @property + def biosUuid(self) -> str: ... + + + class NodeDeploymentSpec(vmodl.DynamicData): + @property + def esxHost(self) -> vim.HostSystem: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def publicNetworkPortGroup(self) -> vim.Network: ... + @property + def clusterNetworkPortGroup(self) -> vim.Network: ... + @property + def folder(self) -> vim.Folder: ... + @property + def resourcePool(self) -> vim.ResourcePool: ... + @property + def managementVc(self) -> vim.ServiceLocator: ... + @property + def nodeName(self) -> str: ... + @property + def ipSettings(self) -> vim.vm.customization.IPSettings: ... + + + class NodeNetworkSpec(vmodl.DynamicData): + @property + def ipSettings(self) -> vim.vm.customization.IPSettings: ... + + + class PassiveNodeDeploymentSpec(FailoverClusterConfigurator.NodeDeploymentSpec): + @property + def failoverIpSettings(self) -> vim.vm.customization.IPSettings: ... + + + class PassiveNodeNetworkSpec(FailoverClusterConfigurator.NodeNetworkSpec): + @property + def failoverIpSettings(self) -> vim.vm.customization.IPSettings: ... + + + class SourceNodeSpec(vmodl.DynamicData): + @property + def managementVc(self) -> vim.ServiceLocator: ... + @property + def activeVc(self) -> vim.VirtualMachine: ... + + + class VchaClusterConfigInfo(vmodl.DynamicData): + @property + def failoverNodeInfo1(self) -> FailoverClusterConfigurator.FailoverNodeInfo: ... + @property + def failoverNodeInfo2(self) -> FailoverClusterConfigurator.FailoverNodeInfo: ... + @property + def witnessNodeInfo(self) -> FailoverClusterConfigurator.WitnessNodeInfo: ... + @property + def state(self) -> str: ... + + + class VchaClusterConfigSpec(vmodl.DynamicData): + @property + def passiveIp(self) -> str: ... + @property + def witnessIp(self) -> str: ... + + + class VchaClusterDeploymentSpec(vmodl.DynamicData): + @property + def passiveDeploymentSpec(self) -> FailoverClusterConfigurator.PassiveNodeDeploymentSpec: ... + @property + def witnessDeploymentSpec(self) -> FailoverClusterConfigurator.NodeDeploymentSpec: ... + @property + def activeVcSpec(self) -> FailoverClusterConfigurator.SourceNodeSpec: ... + @property + def activeVcNetworkConfig(self) -> FailoverClusterConfigurator.ClusterNetworkConfigSpec: ... + + + class VchaClusterNetworkSpec(vmodl.DynamicData): + @property + def witnessNetworkSpec(self) -> FailoverClusterConfigurator.NodeNetworkSpec: ... + @property + def passiveNetworkSpec(self) -> FailoverClusterConfigurator.PassiveNodeNetworkSpec: ... + + + class WitnessNodeInfo(vmodl.DynamicData): + @property + def ipSettings(self) -> vim.vm.customization.IPSettings: ... + @property + def biosUuid(self) -> str: ... + + + class VchaState(Enum): + configured = "configured" + notConfigured = "notconfigured" + invalid = "invalid" + prepared = "prepared" + + +class FailoverClusterManager(ManagedObject): + @property + def disabledClusterMethod(self) -> List[ManagedMethod]: ... + def SetClusterMode(self, mode: str) -> vim.Task: ... + def GetClusterMode(self) -> str: ... + def GetClusterHealth(self) -> FailoverClusterManager.VchaClusterHealth: ... + def InitiateFailover(self, planned: bool) -> vim.Task: ... + + + class VchaClusterHealth(vmodl.DynamicData): + @property + def runtimeInfo(self) -> FailoverClusterManager.VchaClusterRuntimeInfo: ... + @property + def healthMessages(self) -> List[vmodl.LocalizableMessage]: ... + @property + def additionalInformation(self) -> List[vmodl.LocalizableMessage]: ... + + + class VchaClusterRuntimeInfo(vmodl.DynamicData): + @property + def clusterState(self) -> str: ... + @property + def nodeInfo(self) -> List[FailoverClusterManager.VchaNodeRuntimeInfo]: ... + @property + def clusterMode(self) -> str: ... + + + class VchaNodeRuntimeInfo(vmodl.DynamicData): + @property + def nodeState(self) -> str: ... + @property + def nodeRole(self) -> str: ... + @property + def nodeIp(self) -> str: ... + + + class VchaClusterMode(Enum): + enabled = "enabled" + disabled = "disabled" + maintenance = "maintenance" + + + class VchaClusterState(Enum): + healthy = "healthy" + degraded = "degraded" + isolated = "isolated" + + + class VchaNodeRole(Enum): + active = "active" + passive = "passive" + witness = "witness" + + + class VchaNodeState(Enum): + up = "up" + down = "down" \ No newline at end of file diff --git a/pyVmomi/vim/view/__init__.pyi b/pyVmomi/vim/view/__init__.pyi new file mode 100644 index 000000000..ce26b3450 --- /dev/null +++ b/pyVmomi/vim/view/__init__.pyi @@ -0,0 +1,41 @@ +from typing import List +from pyVmomi import vim +from pyVmomi.VmomiSupport import ManagedObject, NoneType + + +class ContainerView(ManagedObjectView): + @property + def container(self) -> vim.ManagedEntity: ... + @property + def type(self) -> List[type]: ... + @property + def recursive(self) -> bool: ... + + +class InventoryView(ManagedObjectView): + def OpenFolder(self, entity: List[vim.ManagedEntity]) -> List[vim.ManagedEntity]: ... + def CloseFolder(self, entity: List[vim.ManagedEntity]) -> List[vim.ManagedEntity]: ... + + +class ListView(ManagedObjectView): + def Modify(self, add: List[ManagedObject], remove: List[ManagedObject]) -> List[ManagedObject]: ... + def Reset(self, obj: List[ManagedObject]) -> List[ManagedObject]: ... + def ResetFromView(self, view: View) -> NoneType: ... + + +class ManagedObjectView(View): + @property + def view(self) -> List[ManagedObject]: ... + + +class View(ManagedObject): + def Destroy(self) -> NoneType: ... + + +class ViewManager(ManagedObject): + @property + def viewList(self) -> List[View]: ... + def CreateInventoryView(self) -> InventoryView: ... + def CreateContainerView(self, container: vim.ManagedEntity, type: List[type], recursive: bool) -> ContainerView: ... + def CreateListView(self, obj: List[ManagedObject]) -> ListView: ... + def CreateListViewFromView(self, view: View) -> ListView: ... \ No newline at end of file diff --git a/pyVmomi/vim/vm/__init__.pyi b/pyVmomi/vim/vm/__init__.pyi new file mode 100644 index 000000000..6e9781e0d --- /dev/null +++ b/pyVmomi/vim/vm/__init__.pyi @@ -0,0 +1,2732 @@ +from typing import List +from enum import Enum +from pyVmomi import MetadataManager, vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, PropertyPath, binary, long, short +from . import customization, device, guest, replication + + +class GuestCustomizationManager(ManagedObject): + def Customize(self, vm: vim.VirtualMachine, auth: guest.GuestAuthentication, spec: customization.Specification, configParams: List[vim.option.OptionValue]) -> vim.Task: ... + def StartNetwork(self, vm: vim.VirtualMachine, auth: guest.GuestAuthentication) -> vim.Task: ... + def AbortCustomization(self, vm: vim.VirtualMachine, auth: guest.GuestAuthentication) -> vim.Task: ... + + +class Snapshot(vim.ExtensibleManagedObject): + @property + def config(self) -> ConfigInfo: ... + @property + def childSnapshot(self) -> List[Snapshot]: ... + @property + def vm(self) -> vim.VirtualMachine: ... + def Revert(self, host: vim.HostSystem, suppressPowerOn: bool) -> vim.Task: ... + def Remove(self, removeChildren: bool, consolidate: bool) -> vim.Task: ... + def Rename(self, name: str, description: str) -> NoneType: ... + def ExportSnapshot(self) -> vim.HttpNfcLease: ... + + +class AffinityInfo(vmodl.DynamicData): + @property + def affinitySet(self) -> List[int]: ... + + +class BaseIndependentFilterSpec(vmodl.DynamicData): ... + + +class BootOptions(vmodl.DynamicData): + @property + def bootDelay(self) -> long: ... + @property + def enterBIOSSetup(self) -> bool: ... + @property + def efiSecureBootEnabled(self) -> bool: ... + @property + def bootRetryEnabled(self) -> bool: ... + @property + def bootRetryDelay(self) -> long: ... + @property + def bootOrder(self) -> List[BootOptions.BootableDevice]: ... + @property + def networkBootProtocol(self) -> str: ... + + + class BootableCdromDevice(BootOptions.BootableDevice): ... + + + class BootableDevice(vmodl.DynamicData): ... + + + class BootableDiskDevice(BootOptions.BootableDevice): + @property + def deviceKey(self) -> int: ... + + + class BootableEthernetDevice(BootOptions.BootableDevice): + @property + def deviceKey(self) -> int: ... + + + class BootableFloppyDevice(BootOptions.BootableDevice): ... + + + class NetworkBootProtocolType(Enum): + ipv4 = "ipv4" + ipv6 = "ipv6" + + +class Capability(vmodl.DynamicData): + @property + def snapshotOperationsSupported(self) -> bool: ... + @property + def multipleSnapshotsSupported(self) -> bool: ... + @property + def snapshotConfigSupported(self) -> bool: ... + @property + def poweredOffSnapshotsSupported(self) -> bool: ... + @property + def memorySnapshotsSupported(self) -> bool: ... + @property + def revertToSnapshotSupported(self) -> bool: ... + @property + def quiescedSnapshotsSupported(self) -> bool: ... + @property + def disableSnapshotsSupported(self) -> bool: ... + @property + def lockSnapshotsSupported(self) -> bool: ... + @property + def consolePreferencesSupported(self) -> bool: ... + @property + def cpuFeatureMaskSupported(self) -> bool: ... + @property + def s1AcpiManagementSupported(self) -> bool: ... + @property + def settingScreenResolutionSupported(self) -> bool: ... + @property + def toolsAutoUpdateSupported(self) -> bool: ... + @property + def vmNpivWwnSupported(self) -> bool: ... + @property + def npivWwnOnNonRdmVmSupported(self) -> bool: ... + @property + def vmNpivWwnDisableSupported(self) -> bool: ... + @property + def vmNpivWwnUpdateSupported(self) -> bool: ... + @property + def swapPlacementSupported(self) -> bool: ... + @property + def toolsSyncTimeSupported(self) -> bool: ... + @property + def virtualMmuUsageSupported(self) -> bool: ... + @property + def diskSharesSupported(self) -> bool: ... + @property + def bootOptionsSupported(self) -> bool: ... + @property + def bootRetryOptionsSupported(self) -> bool: ... + @property + def settingVideoRamSizeSupported(self) -> bool: ... + @property + def settingDisplayTopologySupported(self) -> bool: ... + @property + def recordReplaySupported(self) -> bool: ... + @property + def changeTrackingSupported(self) -> bool: ... + @property + def multipleCoresPerSocketSupported(self) -> bool: ... + @property + def hostBasedReplicationSupported(self) -> bool: ... + @property + def guestAutoLockSupported(self) -> bool: ... + @property + def memoryReservationLockSupported(self) -> bool: ... + @property + def featureRequirementSupported(self) -> bool: ... + @property + def poweredOnMonitorTypeChangeSupported(self) -> bool: ... + @property + def seSparseDiskSupported(self) -> bool: ... + @property + def nestedHVSupported(self) -> bool: ... + @property + def vPMCSupported(self) -> bool: ... + @property + def secureBootSupported(self) -> bool: ... + @property + def perVmEvcSupported(self) -> bool: ... + @property + def virtualMmuUsageIgnored(self) -> bool: ... + @property + def virtualExecUsageIgnored(self) -> bool: ... + @property + def diskOnlySnapshotOnSuspendedVMSupported(self) -> bool: ... + @property + def suspendToMemorySupported(self) -> bool: ... + @property + def toolsSyncTimeAllowSupported(self) -> bool: ... + @property + def sevSupported(self) -> bool: ... + @property + def pmemFailoverSupported(self) -> bool: ... + @property + def requireSgxAttestationSupported(self) -> bool: ... + @property + def changeModeDisksSupported(self) -> bool: ... + @property + def vendorDeviceGroupSupported(self) -> bool: ... + + +class CdromInfo(TargetInfo): + @property + def description(self) -> str: ... + + +class CertThumbprint(vmodl.DynamicData): + @property + def thumbprint(self) -> str: ... + @property + def hashAlgorithm(self) -> str: ... + + + class HashAlgorithm(Enum): + sha256 = "sha256" + + +class CloneSpec(vmodl.DynamicData): + @property + def location(self) -> RelocateSpec: ... + @property + def template(self) -> bool: ... + @property + def config(self) -> ConfigSpec: ... + @property + def customization(self) -> customization.Specification: ... + @property + def powerOn(self) -> bool: ... + @property + def snapshot(self) -> Snapshot: ... + @property + def memory(self) -> bool: ... + @property + def tpmProvisionPolicy(self) -> str: ... + + + class TpmProvisionPolicy(Enum): + copy = "copy" + replace = "replace" + + +class ConfigInfo(vmodl.DynamicData): + @property + def changeVersion(self) -> str: ... + @property + def modified(self) -> datetime: ... + @property + def name(self) -> str: ... + @property + def guestFullName(self) -> str: ... + @property + def version(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def createDate(self) -> datetime: ... + @property + def instanceUuid(self) -> str: ... + @property + def npivNodeWorldWideName(self) -> List[long]: ... + @property + def npivPortWorldWideName(self) -> List[long]: ... + @property + def npivWorldWideNameType(self) -> str: ... + @property + def npivDesiredNodeWwns(self) -> short: ... + @property + def npivDesiredPortWwns(self) -> short: ... + @property + def npivTemporaryDisabled(self) -> bool: ... + @property + def npivOnNonRdmDisks(self) -> bool: ... + @property + def locationId(self) -> str: ... + @property + def template(self) -> bool: ... + @property + def guestId(self) -> str: ... + @property + def alternateGuestName(self) -> str: ... + @property + def annotation(self) -> str: ... + @property + def files(self) -> FileInfo: ... + @property + def tools(self) -> ToolsConfigInfo: ... + @property + def flags(self) -> FlagInfo: ... + @property + def consolePreferences(self) -> ConsolePreferences: ... + @property + def defaultPowerOps(self) -> DefaultPowerOpInfo: ... + @property + def rebootPowerOff(self) -> bool: ... + @property + def hardware(self) -> VirtualHardware: ... + @property + def vcpuConfig(self) -> List[VcpuConfig]: ... + @property + def cpuAllocation(self) -> vim.ResourceAllocationInfo: ... + @property + def memoryAllocation(self) -> vim.ResourceAllocationInfo: ... + @property + def latencySensitivity(self) -> vim.LatencySensitivity: ... + @property + def memoryHotAddEnabled(self) -> bool: ... + @property + def cpuHotAddEnabled(self) -> bool: ... + @property + def cpuHotRemoveEnabled(self) -> bool: ... + @property + def hotPlugMemoryLimit(self) -> long: ... + @property + def hotPlugMemoryIncrementSize(self) -> long: ... + @property + def cpuAffinity(self) -> AffinityInfo: ... + @property + def memoryAffinity(self) -> AffinityInfo: ... + @property + def networkShaper(self) -> NetworkShaperInfo: ... + @property + def extraConfig(self) -> List[vim.option.OptionValue]: ... + @property + def cpuFeatureMask(self) -> List[vim.host.CpuIdInfo]: ... + @property + def datastoreUrl(self) -> List[ConfigInfo.DatastoreUrlPair]: ... + @property + def swapPlacement(self) -> str: ... + @property + def bootOptions(self) -> BootOptions: ... + @property + def ftInfo(self) -> FaultToleranceConfigInfo: ... + @property + def repConfig(self) -> ReplicationConfigSpec: ... + @property + def vAppConfig(self) -> vim.vApp.VmConfigInfo: ... + @property + def vAssertsEnabled(self) -> bool: ... + @property + def changeTrackingEnabled(self) -> bool: ... + @property + def firmware(self) -> str: ... + @property + def maxMksConnections(self) -> int: ... + @property + def guestAutoLockEnabled(self) -> bool: ... + @property + def managedBy(self) -> vim.ext.ManagedByInfo: ... + @property + def memoryReservationLockedToMax(self) -> bool: ... + @property + def initialOverhead(self) -> ConfigInfo.OverheadInfo: ... + @property + def nestedHVEnabled(self) -> bool: ... + @property + def vPMCEnabled(self) -> bool: ... + @property + def scheduledHardwareUpgradeInfo(self) -> ScheduledHardwareUpgradeInfo: ... + @property + def forkConfigInfo(self) -> ForkConfigInfo: ... + @property + def vFlashCacheReservation(self) -> long: ... + @property + def vmxConfigChecksum(self) -> binary: ... + @property + def messageBusTunnelEnabled(self) -> bool: ... + @property + def vmStorageObjectId(self) -> str: ... + @property + def swapStorageObjectId(self) -> str: ... + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + @property + def guestIntegrityInfo(self) -> GuestIntegrityInfo: ... + @property + def migrateEncryption(self) -> str: ... + @property + def sgxInfo(self) -> SgxInfo: ... + @property + def contentLibItemInfo(self) -> ContentLibraryItemInfo: ... + @property + def ftEncryptionMode(self) -> str: ... + @property + def guestMonitoringModeInfo(self) -> GuestMonitoringModeInfo: ... + @property + def sevEnabled(self) -> bool: ... + @property + def numaInfo(self) -> VirtualNumaInfo: ... + @property + def pmemFailoverEnabled(self) -> bool: ... + @property + def vmxStatsCollectionEnabled(self) -> bool: ... + @property + def vmOpNotificationToAppEnabled(self) -> bool: ... + @property + def vmOpNotificationTimeout(self) -> long: ... + @property + def deviceSwap(self) -> VirtualDeviceSwap: ... + @property + def pmem(self) -> VirtualPMem: ... + @property + def deviceGroups(self) -> VirtualDeviceGroups: ... + @property + def fixedPassthruHotPlugEnabled(self) -> bool: ... + + + class DatastoreUrlPair(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def url(self) -> str: ... + + + class OverheadInfo(vmodl.DynamicData): + @property + def initialMemoryReservation(self) -> long: ... + @property + def initialSwapReservation(self) -> long: ... + + + class NpivWwnType(Enum): + vc = "vc" + host = "host" + external = "external" + + + class SwapPlacementType(Enum): + inherit = "inherit" + vmDirectory = "vmdirectory" + hostLocal = "hostlocal" + + +class ConfigOption(vmodl.DynamicData): + @property + def version(self) -> str: ... + @property + def description(self) -> str: ... + @property + def guestOSDescriptor(self) -> List[GuestOsDescriptor]: ... + @property + def guestOSDefaultIndex(self) -> int: ... + @property + def hardwareOptions(self) -> VirtualHardwareOption: ... + @property + def capabilities(self) -> Capability: ... + @property + def datastore(self) -> DatastoreOption: ... + @property + def defaultDevice(self) -> List[device.VirtualDevice]: ... + @property + def supportedMonitorType(self) -> List[str]: ... + @property + def supportedOvfEnvironmentTransport(self) -> List[str]: ... + @property + def supportedOvfInstallTransport(self) -> List[str]: ... + @property + def propertyRelations(self) -> List[PropertyRelation]: ... + + +class ConfigOptionDescriptor(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def description(self) -> str: ... + @property + def host(self) -> List[vim.HostSystem]: ... + @property + def createSupported(self) -> bool: ... + @property + def defaultConfigOption(self) -> bool: ... + @property + def runSupported(self) -> bool: ... + @property + def upgradeSupported(self) -> bool: ... + + +class ConfigSpec(vmodl.DynamicData): + @property + def changeVersion(self) -> str: ... + @property + def name(self) -> str: ... + @property + def version(self) -> str: ... + @property + def createDate(self) -> datetime: ... + @property + def uuid(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + @property + def npivNodeWorldWideName(self) -> List[long]: ... + @property + def npivPortWorldWideName(self) -> List[long]: ... + @property + def npivWorldWideNameType(self) -> str: ... + @property + def npivDesiredNodeWwns(self) -> short: ... + @property + def npivDesiredPortWwns(self) -> short: ... + @property + def npivTemporaryDisabled(self) -> bool: ... + @property + def npivOnNonRdmDisks(self) -> bool: ... + @property + def npivWorldWideNameOp(self) -> str: ... + @property + def locationId(self) -> str: ... + @property + def guestId(self) -> str: ... + @property + def alternateGuestName(self) -> str: ... + @property + def annotation(self) -> str: ... + @property + def files(self) -> FileInfo: ... + @property + def tools(self) -> ToolsConfigInfo: ... + @property + def flags(self) -> FlagInfo: ... + @property + def consolePreferences(self) -> ConsolePreferences: ... + @property + def powerOpInfo(self) -> DefaultPowerOpInfo: ... + @property + def rebootPowerOff(self) -> bool: ... + @property + def numCPUs(self) -> int: ... + @property + def vcpuConfig(self) -> List[VcpuConfig]: ... + @property + def numCoresPerSocket(self) -> int: ... + @property + def memoryMB(self) -> long: ... + @property + def memoryHotAddEnabled(self) -> bool: ... + @property + def cpuHotAddEnabled(self) -> bool: ... + @property + def cpuHotRemoveEnabled(self) -> bool: ... + @property + def virtualICH7MPresent(self) -> bool: ... + @property + def virtualSMCPresent(self) -> bool: ... + @property + def deviceChange(self) -> List[device.VirtualDeviceSpec]: ... + @property + def cpuAllocation(self) -> vim.ResourceAllocationInfo: ... + @property + def memoryAllocation(self) -> vim.ResourceAllocationInfo: ... + @property + def latencySensitivity(self) -> vim.LatencySensitivity: ... + @property + def cpuAffinity(self) -> AffinityInfo: ... + @property + def memoryAffinity(self) -> AffinityInfo: ... + @property + def networkShaper(self) -> NetworkShaperInfo: ... + @property + def cpuFeatureMask(self) -> List[ConfigSpec.CpuIdInfoSpec]: ... + @property + def extraConfig(self) -> List[vim.option.OptionValue]: ... + @property + def swapPlacement(self) -> str: ... + @property + def bootOptions(self) -> BootOptions: ... + @property + def vAppConfig(self) -> vim.vApp.VmConfigSpec: ... + @property + def ftInfo(self) -> FaultToleranceConfigInfo: ... + @property + def repConfig(self) -> ReplicationConfigSpec: ... + @property + def vAppConfigRemoved(self) -> bool: ... + @property + def vAssertsEnabled(self) -> bool: ... + @property + def changeTrackingEnabled(self) -> bool: ... + @property + def firmware(self) -> str: ... + @property + def maxMksConnections(self) -> int: ... + @property + def guestAutoLockEnabled(self) -> bool: ... + @property + def managedBy(self) -> vim.ext.ManagedByInfo: ... + @property + def memoryReservationLockedToMax(self) -> bool: ... + @property + def nestedHVEnabled(self) -> bool: ... + @property + def vPMCEnabled(self) -> bool: ... + @property + def scheduledHardwareUpgradeInfo(self) -> ScheduledHardwareUpgradeInfo: ... + @property + def vmProfile(self) -> List[ProfileSpec]: ... + @property + def messageBusTunnelEnabled(self) -> bool: ... + @property + def crypto(self) -> vim.encryption.CryptoSpec: ... + @property + def migrateEncryption(self) -> str: ... + @property + def sgxInfo(self) -> SgxInfo: ... + @property + def ftEncryptionMode(self) -> str: ... + @property + def guestMonitoringModeInfo(self) -> GuestMonitoringModeInfo: ... + @property + def sevEnabled(self) -> bool: ... + @property + def virtualNuma(self) -> VirtualNuma: ... + @property + def motherboardLayout(self) -> str: ... + @property + def pmemFailoverEnabled(self) -> bool: ... + @property + def vmxStatsCollectionEnabled(self) -> bool: ... + @property + def vmOpNotificationToAppEnabled(self) -> bool: ... + @property + def vmOpNotificationTimeout(self) -> long: ... + @property + def deviceSwap(self) -> VirtualDeviceSwap: ... + @property + def simultaneousThreads(self) -> int: ... + @property + def pmem(self) -> VirtualPMem: ... + @property + def deviceGroups(self) -> VirtualDeviceGroups: ... + @property + def fixedPassthruHotPlugEnabled(self) -> bool: ... + + + class CpuIdInfoSpec(vim.option.ArrayUpdateSpec): + @property + def info(self) -> vim.host.CpuIdInfo: ... + + + class EncryptedFtModes(Enum): + ftEncryptionDisabled = "ftencryptiondisabled" + ftEncryptionOpportunistic = "ftencryptionopportunistic" + ftEncryptionRequired = "ftencryptionrequired" + + + class EncryptedVMotionModes(Enum): + disabled = "disabled" + opportunistic = "opportunistic" + required = "required" + + + class NpivWwnOp(Enum): + generate = "generate" + set = "set" + remove = "remove" + extend = "extend" + + +class ConfigTarget(vmodl.DynamicData): + @property + def numCpus(self) -> int: ... + @property + def numCpuCores(self) -> int: ... + @property + def numNumaNodes(self) -> int: ... + @property + def maxCpusPerHost(self) -> int: ... + @property + def smcPresent(self) -> bool: ... + @property + def datastore(self) -> List[DatastoreInfo]: ... + @property + def network(self) -> List[NetworkInfo]: ... + @property + def opaqueNetwork(self) -> List[OpaqueNetworkInfo]: ... + @property + def distributedVirtualPortgroup(self) -> List[vim.dvs.DistributedVirtualPortgroupInfo]: ... + @property + def distributedVirtualSwitch(self) -> List[vim.dvs.DistributedVirtualSwitchInfo]: ... + @property + def cdRom(self) -> List[CdromInfo]: ... + @property + def serial(self) -> List[SerialInfo]: ... + @property + def parallel(self) -> List[ParallelInfo]: ... + @property + def sound(self) -> List[SoundInfo]: ... + @property + def usb(self) -> List[UsbInfo]: ... + @property + def floppy(self) -> List[FloppyInfo]: ... + @property + def legacyNetworkInfo(self) -> List[LegacyNetworkSwitchInfo]: ... + @property + def scsiPassthrough(self) -> List[ScsiPassthroughInfo]: ... + @property + def scsiDisk(self) -> List[ScsiDiskDeviceInfo]: ... + @property + def ideDisk(self) -> List[IdeDiskDeviceInfo]: ... + @property + def maxMemMBOptimalPerf(self) -> int: ... + @property + def supportedMaxMemMB(self) -> int: ... + @property + def resourcePool(self) -> vim.ResourcePool.RuntimeInfo: ... + @property + def autoVmotion(self) -> bool: ... + @property + def pciPassthrough(self) -> List[PciPassthroughInfo]: ... + @property + def sriov(self) -> List[SriovInfo]: ... + @property + def vFlashModule(self) -> List[VFlashModuleInfo]: ... + @property + def sharedGpuPassthroughTypes(self) -> List[PciSharedGpuPassthroughInfo]: ... + @property + def availablePersistentMemoryReservationMB(self) -> long: ... + @property + def dynamicPassthrough(self) -> List[DynamicPassthroughInfo]: ... + @property + def sgxTargetInfo(self) -> SgxTargetInfo: ... + @property + def precisionClockInfo(self) -> List[PrecisionClockInfo]: ... + @property + def sevSupported(self) -> bool: ... + @property + def vgpuDeviceInfo(self) -> List[VgpuDeviceInfo]: ... + @property + def vgpuProfileInfo(self) -> List[VgpuProfileInfo]: ... + @property + def vendorDeviceGroupInfo(self) -> List[VendorDeviceGroupInfo]: ... + @property + def maxSimultaneousThreads(self) -> int: ... + @property + def dvxClassInfo(self) -> List[DvxClassInfo]: ... + + +class ConsolePreferences(vmodl.DynamicData): + @property + def powerOnWhenOpened(self) -> bool: ... + @property + def enterFullScreenOnPowerOn(self) -> bool: ... + @property + def closeOnPowerOffOrSuspend(self) -> bool: ... + + +class ContentLibraryItemInfo(vmodl.DynamicData): + @property + def contentLibraryItemUuid(self) -> str: ... + @property + def contentLibraryItemVersion(self) -> str: ... + + +class DatastoreInfo(TargetInfo): + @property + def datastore(self) -> vim.Datastore.Summary: ... + @property + def capability(self) -> vim.Datastore.Capability: ... + @property + def maxFileSize(self) -> long: ... + @property + def maxVirtualDiskCapacity(self) -> long: ... + @property + def maxPhysicalRDMFileSize(self) -> long: ... + @property + def maxVirtualRDMFileSize(self) -> long: ... + @property + def mode(self) -> str: ... + @property + def vStorageSupport(self) -> str: ... + + +class DatastoreOption(vmodl.DynamicData): + @property + def unsupportedVolumes(self) -> List[DatastoreOption.FileSystemVolumeOption]: ... + + + class FileSystemVolumeOption(vmodl.DynamicData): + @property + def fileSystemType(self) -> type: ... + @property + def majorVersion(self) -> int: ... + + +class DefaultPowerOpInfo(vmodl.DynamicData): + @property + def powerOffType(self) -> str: ... + @property + def suspendType(self) -> str: ... + @property + def resetType(self) -> str: ... + @property + def defaultPowerOffType(self) -> str: ... + @property + def defaultSuspendType(self) -> str: ... + @property + def defaultResetType(self) -> str: ... + @property + def standbyAction(self) -> str: ... + + + class PowerOpType(Enum): + soft = "soft" + hard = "hard" + preset = "preset" + + + class StandbyActionType(Enum): + checkpoint = "checkpoint" + powerOnSuspend = "poweronsuspend" + + +class DefaultProfileSpec(ProfileSpec): ... + + +class DefinedProfileSpec(ProfileSpec): + @property + def profileId(self) -> str: ... + @property + def replicationSpec(self) -> replication.ReplicationSpec: ... + @property + def profileData(self) -> ProfileRawData: ... + @property + def profileParams(self) -> List[vim.KeyValue]: ... + + +class DeviceRuntimeInfo(vmodl.DynamicData): + @property + def runtimeState(self) -> DeviceRuntimeInfo.DeviceRuntimeState: ... + @property + def key(self) -> int: ... + + + class DeviceRuntimeState(vmodl.DynamicData): ... + + + class VirtualEthernetCardRuntimeState(DeviceRuntimeInfo.DeviceRuntimeState): + @property + def vmDirectPathGen2Active(self) -> bool: ... + @property + def vmDirectPathGen2InactiveReasonVm(self) -> List[str]: ... + @property + def vmDirectPathGen2InactiveReasonOther(self) -> List[str]: ... + @property + def vmDirectPathGen2InactiveReasonExtended(self) -> str: ... + @property + def uptv2Active(self) -> bool: ... + @property + def uptv2InactiveReasonVm(self) -> List[str]: ... + @property + def uptv2InactiveReasonOther(self) -> List[str]: ... + @property + def reservationStatus(self) -> str: ... + @property + def attachmentStatus(self) -> str: ... + @property + def featureRequirement(self) -> List[FeatureRequirement]: ... + + + class VmDirectPathGen2InactiveReasonOther(Enum): + vmNptIncompatibleHost = "vmnptincompatiblehost" + vmNptIncompatibleNetwork = "vmnptincompatiblenetwork" + + + class VmDirectPathGen2InactiveReasonVm(Enum): + vmNptIncompatibleGuest = "vmnptincompatibleguest" + vmNptIncompatibleGuestDriver = "vmnptincompatibleguestdriver" + vmNptIncompatibleAdapterType = "vmnptincompatibleadaptertype" + vmNptDisabledOrDisconnectedAdapter = "vmnptdisabledordisconnectedadapter" + vmNptIncompatibleAdapterFeatures = "vmnptincompatibleadapterfeatures" + vmNptIncompatibleBackingType = "vmnptincompatiblebackingtype" + vmNptInsufficientMemoryReservation = "vmnptinsufficientmemoryreservation" + vmNptFaultToleranceOrRecordReplayConfigured = "vmnptfaulttoleranceorrecordreplayconfigured" + vmNptConflictingIOChainConfigured = "vmnptconflictingiochainconfigured" + vmNptMonitorBlocks = "vmnptmonitorblocks" + vmNptConflictingOperationInProgress = "vmnptconflictingoperationinprogress" + vmNptRuntimeError = "vmnptruntimeerror" + vmNptOutOfIntrVector = "vmnptoutofintrvector" + vmNptVMCIActive = "vmnptvmciactive" + + +class DiskDeviceInfo(TargetInfo): + @property + def capacity(self) -> long: ... + @property + def vm(self) -> List[vim.VirtualMachine]: ... + + +class DvxClassInfo(vmodl.DynamicData): + @property + def deviceClass(self) -> vim.ElementDescription: ... + @property + def vendorName(self) -> str: ... + @property + def sriovNic(self) -> bool: ... + @property + def configParams(self) -> List[vim.option.OptionDef]: ... + + +class DynamicPassthroughInfo(TargetInfo): + @property + def vendorName(self) -> str: ... + @property + def deviceName(self) -> str: ... + @property + def customLabel(self) -> str: ... + @property + def vendorId(self) -> int: ... + @property + def deviceId(self) -> int: ... + + +class EmptyIndependentFilterSpec(BaseIndependentFilterSpec): ... + + +class EmptyProfileSpec(ProfileSpec): ... + + +class FaultToleranceConfigInfo(vmodl.DynamicData): + @property + def role(self) -> int: ... + @property + def instanceUuids(self) -> List[str]: ... + @property + def configPaths(self) -> List[str]: ... + @property + def orphaned(self) -> bool: ... + + +class FaultToleranceConfigSpec(vmodl.DynamicData): + @property + def metaDataPath(self) -> FaultToleranceMetaSpec: ... + @property + def secondaryVmSpec(self) -> FaultToleranceVMConfigSpec: ... + + +class FaultToleranceMetaSpec(vmodl.DynamicData): + @property + def metaDataDatastore(self) -> vim.Datastore: ... + + +class FaultTolerancePrimaryConfigInfo(FaultToleranceConfigInfo): + @property + def secondaries(self) -> List[vim.VirtualMachine]: ... + + +class FaultToleranceSecondaryConfigInfo(FaultToleranceConfigInfo): + @property + def primaryVM(self) -> vim.VirtualMachine: ... + + +class FaultToleranceSecondaryOpResult(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def powerOnAttempted(self) -> bool: ... + @property + def powerOnResult(self) -> vim.cluster.PowerOnVmResult: ... + + +class FaultToleranceVMConfigSpec(vmodl.DynamicData): + @property + def vmConfig(self) -> vim.Datastore: ... + @property + def disks(self) -> List[FaultToleranceVMConfigSpec.FaultToleranceDiskSpec]: ... + + + class FaultToleranceDiskSpec(vmodl.DynamicData): + @property + def disk(self) -> device.VirtualDevice: ... + @property + def datastore(self) -> vim.Datastore: ... + + +class FeatureRequirement(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def featureName(self) -> str: ... + @property + def value(self) -> str: ... + + +class FileInfo(vmodl.DynamicData): + @property + def vmPathName(self) -> str: ... + @property + def snapshotDirectory(self) -> str: ... + @property + def suspendDirectory(self) -> str: ... + @property + def logDirectory(self) -> str: ... + @property + def ftMetadataDirectory(self) -> str: ... + + +class FileLayout(vmodl.DynamicData): + @property + def configFile(self) -> List[str]: ... + @property + def logFile(self) -> List[str]: ... + @property + def disk(self) -> List[FileLayout.DiskLayout]: ... + @property + def snapshot(self) -> List[FileLayout.SnapshotLayout]: ... + @property + def swapFile(self) -> str: ... + + + class DiskLayout(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def diskFile(self) -> List[str]: ... + + + class SnapshotLayout(vmodl.DynamicData): + @property + def key(self) -> Snapshot: ... + @property + def snapshotFile(self) -> List[str]: ... + + +class FileLayoutEx(vmodl.DynamicData): + @property + def file(self) -> List[FileLayoutEx.FileInfo]: ... + @property + def disk(self) -> List[FileLayoutEx.DiskLayout]: ... + @property + def snapshot(self) -> List[FileLayoutEx.SnapshotLayout]: ... + @property + def timestamp(self) -> datetime: ... + + + class DiskUnit(vmodl.DynamicData): + @property + def fileKey(self) -> List[int]: ... + + + class FileType(Enum): + config = "config" + extendedConfig = "extendedconfig" + diskDescriptor = "diskdescriptor" + diskExtent = "diskextent" + digestDescriptor = "digestdescriptor" + digestExtent = "digestextent" + diskReplicationState = "diskreplicationstate" + log = "log" + stat = "stat" + namespaceData = "namespacedata" + dataSetsDiskModeStore = "datasetsdiskmodestore" + dataSetsVmModeStore = "datasetsvmmodestore" + nvram = "nvram" + snapshotData = "snapshotdata" + snapshotMemory = "snapshotmemory" + snapshotList = "snapshotlist" + snapshotManifestList = "snapshotmanifestlist" + suspend = "suspend" + suspendMemory = "suspendmemory" + swap = "swap" + uwswap = "uwswap" + core = "core" + screenshot = "screenshot" + ftMetadata = "ftmetadata" + guestCustomization = "guestcustomization" + + +class FlagInfo(vmodl.DynamicData): + @property + def disableAcceleration(self) -> bool: ... + @property + def enableLogging(self) -> bool: ... + @property + def useToe(self) -> bool: ... + @property + def runWithDebugInfo(self) -> bool: ... + @property + def monitorType(self) -> str: ... + @property + def htSharing(self) -> str: ... + @property + def snapshotDisabled(self) -> bool: ... + @property + def snapshotLocked(self) -> bool: ... + @property + def diskUuidEnabled(self) -> bool: ... + @property + def virtualMmuUsage(self) -> str: ... + @property + def virtualExecUsage(self) -> str: ... + @property + def snapshotPowerOffBehavior(self) -> str: ... + @property + def recordReplayEnabled(self) -> bool: ... + @property + def faultToleranceType(self) -> str: ... + @property + def cbrcCacheEnabled(self) -> bool: ... + @property + def vvtdEnabled(self) -> bool: ... + @property + def vbsEnabled(self) -> bool: ... + + + class HtSharing(Enum): + any = "any" + none = "none" + internal = "internal" + + + class MonitorType(Enum): + release = "release" + debug = "debug" + stats = "stats" + + + class PowerOffBehavior(Enum): + powerOff = "poweroff" + revert = "revert" + prompt = "prompt" + take = "take" + + + class VirtualExecUsage(Enum): + hvAuto = "hvauto" + hvOn = "hvon" + hvOff = "hvoff" + + + class VirtualMmuUsage(Enum): + automatic = "automatic" + on = "on" + off = "off" + + +class FloppyInfo(TargetInfo): ... + + +class ForkConfigInfo(vmodl.DynamicData): + @property + def parentEnabled(self) -> bool: ... + @property + def childForkGroupId(self) -> str: ... + @property + def parentForkGroupId(self) -> str: ... + @property + def childType(self) -> str: ... + + + class ChildType(Enum): + none = "none" + persistent = "persistent" + nonpersistent = "nonpersistent" + + +class GuestInfo(vmodl.DynamicData): + @property + def toolsStatus(self) -> GuestInfo.ToolsStatus: ... + @property + def toolsVersionStatus(self) -> str: ... + @property + def toolsVersionStatus2(self) -> str: ... + @property + def toolsRunningStatus(self) -> str: ... + @property + def toolsVersion(self) -> str: ... + @property + def toolsInstallType(self) -> str: ... + @property + def guestId(self) -> str: ... + @property + def guestFamily(self) -> str: ... + @property + def guestFullName(self) -> str: ... + @property + def hostName(self) -> str: ... + @property + def ipAddress(self) -> str: ... + @property + def net(self) -> List[GuestInfo.NicInfo]: ... + @property + def ipStack(self) -> List[GuestInfo.StackInfo]: ... + @property + def disk(self) -> List[GuestInfo.DiskInfo]: ... + @property + def screen(self) -> GuestInfo.ScreenInfo: ... + @property + def guestState(self) -> str: ... + @property + def appHeartbeatStatus(self) -> str: ... + @property + def guestKernelCrashed(self) -> bool: ... + @property + def appState(self) -> str: ... + @property + def guestOperationsReady(self) -> bool: ... + @property + def interactiveGuestOperationsReady(self) -> bool: ... + @property + def guestStateChangeSupported(self) -> bool: ... + @property + def generationInfo(self) -> List[GuestInfo.NamespaceGenerationInfo]: ... + @property + def hwVersion(self) -> str: ... + @property + def customizationInfo(self) -> GuestInfo.CustomizationInfo: ... + + + class CustomizationInfo(vmodl.DynamicData): + @property + def customizationStatus(self) -> str: ... + @property + def startTime(self) -> datetime: ... + @property + def endTime(self) -> datetime: ... + @property + def errorMsg(self) -> str: ... + + + class DiskInfo(vmodl.DynamicData): + @property + def diskPath(self) -> str: ... + @property + def capacity(self) -> long: ... + @property + def freeSpace(self) -> long: ... + @property + def filesystemType(self) -> str: ... + @property + def mappings(self) -> List[GuestInfo.VirtualDiskMapping]: ... + + + class NamespaceGenerationInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + @property + def generationNo(self) -> int: ... + + + class NicInfo(vmodl.DynamicData): + @property + def network(self) -> str: ... + @property + def ipAddress(self) -> List[str]: ... + @property + def macAddress(self) -> str: ... + @property + def connected(self) -> bool: ... + @property + def deviceConfigId(self) -> int: ... + @property + def dnsConfig(self) -> vim.net.DnsConfigInfo: ... + @property + def ipConfig(self) -> vim.net.IpConfigInfo: ... + @property + def netBIOSConfig(self) -> vim.net.NetBIOSConfigInfo: ... + + + class ScreenInfo(vmodl.DynamicData): + @property + def width(self) -> int: ... + @property + def height(self) -> int: ... + + + class StackInfo(vmodl.DynamicData): + @property + def dnsConfig(self) -> vim.net.DnsConfigInfo: ... + @property + def ipRouteConfig(self) -> vim.net.IpRouteConfigInfo: ... + @property + def ipStackConfig(self) -> List[vim.KeyValue]: ... + @property + def dhcpConfig(self) -> vim.net.DhcpConfigInfo: ... + + + class VirtualDiskMapping(vmodl.DynamicData): + @property + def key(self) -> int: ... + + + class AppStateType(Enum): + none = "none" + appStateOk = "appstateok" + appStateNeedReset = "appstateneedreset" + + + class CustomizationStatus(Enum): + TOOLSDEPLOYPKG_IDLE = "toolsdeploypkg_idle" + TOOLSDEPLOYPKG_PENDING = "toolsdeploypkg_pending" + TOOLSDEPLOYPKG_RUNNING = "toolsdeploypkg_running" + TOOLSDEPLOYPKG_SUCCEEDED = "toolsdeploypkg_succeeded" + TOOLSDEPLOYPKG_FAILED = "toolsdeploypkg_failed" + + + class GuestState(Enum): + running = "running" + shuttingDown = "shuttingdown" + resetting = "resetting" + standby = "standby" + notRunning = "notrunning" + unknown = "unknown" + + + class ToolsInstallType(Enum): + guestToolsTypeUnknown = "guesttoolstypeunknown" + guestToolsTypeMSI = "guesttoolstypemsi" + guestToolsTypeTar = "guesttoolstypetar" + guestToolsTypeOSP = "guesttoolstypeosp" + guestToolsTypeOpenVMTools = "guesttoolstypeopenvmtools" + + + class ToolsRunningStatus(Enum): + guestToolsNotRunning = "guesttoolsnotrunning" + guestToolsRunning = "guesttoolsrunning" + guestToolsExecutingScripts = "guesttoolsexecutingscripts" + + + class ToolsStatus(Enum): + toolsNotInstalled = "toolsnotinstalled" + toolsNotRunning = "toolsnotrunning" + toolsOld = "toolsold" + toolsOk = "toolsok" + + + class ToolsVersionStatus(Enum): + guestToolsNotInstalled = "guesttoolsnotinstalled" + guestToolsNeedUpgrade = "guesttoolsneedupgrade" + guestToolsCurrent = "guesttoolscurrent" + guestToolsUnmanaged = "guesttoolsunmanaged" + guestToolsTooOld = "guesttoolstooold" + guestToolsSupportedOld = "guesttoolssupportedold" + guestToolsSupportedNew = "guesttoolssupportednew" + guestToolsTooNew = "guesttoolstoonew" + guestToolsBlacklisted = "guesttoolsblacklisted" + + +class GuestIntegrityInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + + +class GuestMonitoringModeInfo(vmodl.DynamicData): + @property + def gmmFile(self) -> str: ... + @property + def gmmAppliance(self) -> str: ... + + +class GuestOsDescriptor(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def family(self) -> str: ... + @property + def fullName(self) -> str: ... + @property + def supportedMaxCPUs(self) -> int: ... + @property + def numSupportedPhysicalSockets(self) -> int: ... + @property + def numSupportedCoresPerSocket(self) -> int: ... + @property + def supportedMinMemMB(self) -> int: ... + @property + def supportedMaxMemMB(self) -> int: ... + @property + def recommendedMemMB(self) -> int: ... + @property + def recommendedColorDepth(self) -> int: ... + @property + def supportedDiskControllerList(self) -> List[type]: ... + @property + def recommendedSCSIController(self) -> type: ... + @property + def recommendedDiskController(self) -> type: ... + @property + def supportedNumDisks(self) -> int: ... + @property + def recommendedDiskSizeMB(self) -> int: ... + @property + def recommendedCdromController(self) -> type: ... + @property + def supportedEthernetCard(self) -> List[type]: ... + @property + def recommendedEthernetCard(self) -> type: ... + @property + def supportsSlaveDisk(self) -> bool: ... + @property + def cpuFeatureMask(self) -> List[vim.host.CpuIdInfo]: ... + @property + def smcRequired(self) -> bool: ... + @property + def supportsWakeOnLan(self) -> bool: ... + @property + def supportsVMI(self) -> bool: ... + @property + def supportsMemoryHotAdd(self) -> bool: ... + @property + def supportsCpuHotAdd(self) -> bool: ... + @property + def supportsCpuHotRemove(self) -> bool: ... + @property + def supportedFirmware(self) -> List[str]: ... + @property + def recommendedFirmware(self) -> str: ... + @property + def supportedUSBControllerList(self) -> List[type]: ... + @property + def recommendedUSBController(self) -> type: ... + @property + def supports3D(self) -> bool: ... + @property + def recommended3D(self) -> bool: ... + @property + def smcRecommended(self) -> bool: ... + @property + def ich7mRecommended(self) -> bool: ... + @property + def usbRecommended(self) -> bool: ... + @property + def supportLevel(self) -> str: ... + @property + def supportedForCreate(self) -> bool: ... + @property + def vRAMSizeInKB(self) -> vim.option.IntOption: ... + @property + def numSupportedFloppyDevices(self) -> int: ... + @property + def wakeOnLanEthernetCard(self) -> List[type]: ... + @property + def supportsPvscsiControllerForBoot(self) -> bool: ... + @property + def diskUuidEnabled(self) -> bool: ... + @property + def supportsHotPlugPCI(self) -> bool: ... + @property + def supportsSecureBoot(self) -> bool: ... + @property + def defaultSecureBoot(self) -> bool: ... + @property + def persistentMemorySupported(self) -> bool: ... + @property + def supportedMinPersistentMemoryMB(self) -> long: ... + @property + def supportedMaxPersistentMemoryMB(self) -> long: ... + @property + def recommendedPersistentMemoryMB(self) -> long: ... + @property + def persistentMemoryHotAddSupported(self) -> bool: ... + @property + def persistentMemoryHotRemoveSupported(self) -> bool: ... + @property + def persistentMemoryColdGrowthSupported(self) -> bool: ... + @property + def persistentMemoryColdGrowthGranularityMB(self) -> long: ... + @property + def persistentMemoryHotGrowthSupported(self) -> bool: ... + @property + def persistentMemoryHotGrowthGranularityMB(self) -> long: ... + @property + def numRecommendedPhysicalSockets(self) -> int: ... + @property + def numRecommendedCoresPerSocket(self) -> int: ... + @property + def vvtdSupported(self) -> vim.option.BoolOption: ... + @property + def vbsSupported(self) -> vim.option.BoolOption: ... + @property + def vsgxSupported(self) -> vim.option.BoolOption: ... + @property + def vsgxRemoteAttestationSupported(self) -> bool: ... + @property + def supportsTPM20(self) -> bool: ... + @property + def recommendedTPM20(self) -> bool: ... + @property + def vwdtSupported(self) -> bool: ... + + + class FirmwareType(Enum): + bios = "bios" + efi = "efi" + csm = "csm" + + + class GuestOsFamily(Enum): + windowsGuest = "windowsguest" + linuxGuest = "linuxguest" + netwareGuest = "netwareguest" + solarisGuest = "solarisguest" + darwinGuestFamily = "darwinguestfamily" + otherGuestFamily = "otherguestfamily" + + + class GuestOsIdentifier(Enum): + dosGuest = "dosguest" + win31Guest = "win31guest" + win95Guest = "win95guest" + win98Guest = "win98guest" + winMeGuest = "winmeguest" + winNTGuest = "winntguest" + win2000ProGuest = "win2000proguest" + win2000ServGuest = "win2000servguest" + win2000AdvServGuest = "win2000advservguest" + winXPHomeGuest = "winxphomeguest" + winXPProGuest = "winxpproguest" + winXPPro64Guest = "winxppro64guest" + winNetWebGuest = "winnetwebguest" + winNetStandardGuest = "winnetstandardguest" + winNetEnterpriseGuest = "winnetenterpriseguest" + winNetDatacenterGuest = "winnetdatacenterguest" + winNetBusinessGuest = "winnetbusinessguest" + winNetStandard64Guest = "winnetstandard64guest" + winNetEnterprise64Guest = "winnetenterprise64guest" + winLonghornGuest = "winlonghornguest" + winLonghorn64Guest = "winlonghorn64guest" + winNetDatacenter64Guest = "winnetdatacenter64guest" + winVistaGuest = "winvistaguest" + winVista64Guest = "winvista64guest" + windows7Guest = "windows7guest" + windows7_64Guest = "windows7_64guest" + windows7Server64Guest = "windows7server64guest" + windows8Guest = "windows8guest" + windows8_64Guest = "windows8_64guest" + windows8Server64Guest = "windows8server64guest" + windows9Guest = "windows9guest" + windows9_64Guest = "windows9_64guest" + windows9Server64Guest = "windows9server64guest" + windows11_64Guest = "windows11_64guest" + windows12_64Guest = "windows12_64guest" + windowsHyperVGuest = "windowshypervguest" + windows2019srv_64Guest = "windows2019srv_64guest" + windows2019srvNext_64Guest = "windows2019srvnext_64guest" + windows2022srvNext_64Guest = "windows2022srvnext_64guest" + freebsdGuest = "freebsdguest" + freebsd64Guest = "freebsd64guest" + freebsd11Guest = "freebsd11guest" + freebsd11_64Guest = "freebsd11_64guest" + freebsd12Guest = "freebsd12guest" + freebsd12_64Guest = "freebsd12_64guest" + freebsd13Guest = "freebsd13guest" + freebsd13_64Guest = "freebsd13_64guest" + freebsd14Guest = "freebsd14guest" + freebsd14_64Guest = "freebsd14_64guest" + redhatGuest = "redhatguest" + rhel2Guest = "rhel2guest" + rhel3Guest = "rhel3guest" + rhel3_64Guest = "rhel3_64guest" + rhel4Guest = "rhel4guest" + rhel4_64Guest = "rhel4_64guest" + rhel5Guest = "rhel5guest" + rhel5_64Guest = "rhel5_64guest" + rhel6Guest = "rhel6guest" + rhel6_64Guest = "rhel6_64guest" + rhel7Guest = "rhel7guest" + rhel7_64Guest = "rhel7_64guest" + rhel8_64Guest = "rhel8_64guest" + rhel9_64Guest = "rhel9_64guest" + centosGuest = "centosguest" + centos64Guest = "centos64guest" + centos6Guest = "centos6guest" + centos6_64Guest = "centos6_64guest" + centos7Guest = "centos7guest" + centos7_64Guest = "centos7_64guest" + centos8_64Guest = "centos8_64guest" + centos9_64Guest = "centos9_64guest" + oracleLinuxGuest = "oraclelinuxguest" + oracleLinux64Guest = "oraclelinux64guest" + oracleLinux6Guest = "oraclelinux6guest" + oracleLinux6_64Guest = "oraclelinux6_64guest" + oracleLinux7Guest = "oraclelinux7guest" + oracleLinux7_64Guest = "oraclelinux7_64guest" + oracleLinux8_64Guest = "oraclelinux8_64guest" + oracleLinux9_64Guest = "oraclelinux9_64guest" + suseGuest = "suseguest" + suse64Guest = "suse64guest" + slesGuest = "slesguest" + sles64Guest = "sles64guest" + sles10Guest = "sles10guest" + sles10_64Guest = "sles10_64guest" + sles11Guest = "sles11guest" + sles11_64Guest = "sles11_64guest" + sles12Guest = "sles12guest" + sles12_64Guest = "sles12_64guest" + sles15_64Guest = "sles15_64guest" + sles16_64Guest = "sles16_64guest" + nld9Guest = "nld9guest" + oesGuest = "oesguest" + sjdsGuest = "sjdsguest" + mandrakeGuest = "mandrakeguest" + mandrivaGuest = "mandrivaguest" + mandriva64Guest = "mandriva64guest" + turboLinuxGuest = "turbolinuxguest" + turboLinux64Guest = "turbolinux64guest" + ubuntuGuest = "ubuntuguest" + ubuntu64Guest = "ubuntu64guest" + debian4Guest = "debian4guest" + debian4_64Guest = "debian4_64guest" + debian5Guest = "debian5guest" + debian5_64Guest = "debian5_64guest" + debian6Guest = "debian6guest" + debian6_64Guest = "debian6_64guest" + debian7Guest = "debian7guest" + debian7_64Guest = "debian7_64guest" + debian8Guest = "debian8guest" + debian8_64Guest = "debian8_64guest" + debian9Guest = "debian9guest" + debian9_64Guest = "debian9_64guest" + debian10Guest = "debian10guest" + debian10_64Guest = "debian10_64guest" + debian11Guest = "debian11guest" + debian11_64Guest = "debian11_64guest" + debian12Guest = "debian12guest" + debian12_64Guest = "debian12_64guest" + asianux3Guest = "asianux3guest" + asianux3_64Guest = "asianux3_64guest" + asianux4Guest = "asianux4guest" + asianux4_64Guest = "asianux4_64guest" + asianux5_64Guest = "asianux5_64guest" + asianux7_64Guest = "asianux7_64guest" + asianux8_64Guest = "asianux8_64guest" + asianux9_64Guest = "asianux9_64guest" + opensuseGuest = "opensuseguest" + opensuse64Guest = "opensuse64guest" + fedoraGuest = "fedoraguest" + fedora64Guest = "fedora64guest" + coreos64Guest = "coreos64guest" + vmwarePhoton64Guest = "vmwarephoton64guest" + other24xLinuxGuest = "other24xlinuxguest" + other26xLinuxGuest = "other26xlinuxguest" + otherLinuxGuest = "otherlinuxguest" + other3xLinuxGuest = "other3xlinuxguest" + other4xLinuxGuest = "other4xlinuxguest" + other5xLinuxGuest = "other5xlinuxguest" + other6xLinuxGuest = "other6xlinuxguest" + genericLinuxGuest = "genericlinuxguest" + other24xLinux64Guest = "other24xlinux64guest" + other26xLinux64Guest = "other26xlinux64guest" + other3xLinux64Guest = "other3xlinux64guest" + other4xLinux64Guest = "other4xlinux64guest" + other5xLinux64Guest = "other5xlinux64guest" + other6xLinux64Guest = "other6xlinux64guest" + otherLinux64Guest = "otherlinux64guest" + solaris6Guest = "solaris6guest" + solaris7Guest = "solaris7guest" + solaris8Guest = "solaris8guest" + solaris9Guest = "solaris9guest" + solaris10Guest = "solaris10guest" + solaris10_64Guest = "solaris10_64guest" + solaris11_64Guest = "solaris11_64guest" + os2Guest = "os2guest" + eComStationGuest = "ecomstationguest" + eComStation2Guest = "ecomstation2guest" + netware4Guest = "netware4guest" + netware5Guest = "netware5guest" + netware6Guest = "netware6guest" + openServer5Guest = "openserver5guest" + openServer6Guest = "openserver6guest" + unixWare7Guest = "unixware7guest" + darwinGuest = "darwinguest" + darwin64Guest = "darwin64guest" + darwin10Guest = "darwin10guest" + darwin10_64Guest = "darwin10_64guest" + darwin11Guest = "darwin11guest" + darwin11_64Guest = "darwin11_64guest" + darwin12_64Guest = "darwin12_64guest" + darwin13_64Guest = "darwin13_64guest" + darwin14_64Guest = "darwin14_64guest" + darwin15_64Guest = "darwin15_64guest" + darwin16_64Guest = "darwin16_64guest" + darwin17_64Guest = "darwin17_64guest" + darwin18_64Guest = "darwin18_64guest" + darwin19_64Guest = "darwin19_64guest" + darwin20_64Guest = "darwin20_64guest" + darwin21_64Guest = "darwin21_64guest" + darwin22_64Guest = "darwin22_64guest" + darwin23_64Guest = "darwin23_64guest" + vmkernelGuest = "vmkernelguest" + vmkernel5Guest = "vmkernel5guest" + vmkernel6Guest = "vmkernel6guest" + vmkernel65Guest = "vmkernel65guest" + vmkernel7Guest = "vmkernel7guest" + vmkernel8Guest = "vmkernel8guest" + amazonlinux2_64Guest = "amazonlinux2_64guest" + amazonlinux3_64Guest = "amazonlinux3_64guest" + crxPod1Guest = "crxpod1guest" + rockylinux_64Guest = "rockylinux_64guest" + almalinux_64Guest = "almalinux_64guest" + otherGuest = "otherguest" + otherGuest64 = "otherguest64" + + + class SupportLevel(Enum): + experimental = "experimental" + legacy = "legacy" + terminated = "terminated" + supported = "supported" + unsupported = "unsupported" + deprecated = "deprecated" + techPreview = "techpreview" + + +class GuestQuiesceSpec(vmodl.DynamicData): + @property + def timeout(self) -> int: ... + + +class IdeDiskDeviceInfo(DiskDeviceInfo): + @property + def partitionTable(self) -> List[IdeDiskDeviceInfo.PartitionInfo]: ... + + + class PartitionInfo(vmodl.DynamicData): + @property + def id(self) -> int: ... + @property + def capacity(self) -> int: ... + + +class IndependentFilterSpec(BaseIndependentFilterSpec): + @property + def filterName(self) -> str: ... + @property + def filterClass(self) -> str: ... + @property + def filterCapabilities(self) -> List[vim.KeyValue]: ... + + +class InstantCloneSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def location(self) -> RelocateSpec: ... + @property + def config(self) -> List[vim.option.OptionValue]: ... + @property + def biosUuid(self) -> str: ... + + +class LegacyNetworkSwitchInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + + +class Message(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def argument(self) -> List[object]: ... + @property + def text(self) -> str: ... + + +class VmMetadata(vmodl.DynamicData): + @property + def vmId(self) -> str: ... + @property + def metadata(self) -> str: ... + + +class VmMetadataInput(vmodl.DynamicData): + @property + def operation(self) -> str: ... + @property + def vmMetadata(self) -> MetadataManager.VmMetadata: ... + + +class VmMetadataOwner(vmodl.DynamicData): + @property + def name(self) -> str: ... + + + class Owner(Enum): + ComVmwareVsphereHA = "comvmwarevsphereha" + + +class VmMetadataResult(vmodl.DynamicData): + @property + def vmMetadata(self) -> MetadataManager.VmMetadata: ... + @property + def error(self) -> vmodl.MethodFault: ... + + +class NetworkInfo(TargetInfo): + @property + def network(self) -> vim.Network.Summary: ... + @property + def vswitch(self) -> str: ... + + +class NetworkShaperInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def peakBps(self) -> long: ... + @property + def averageBps(self) -> long: ... + @property + def burstSize(self) -> long: ... + + +class OpaqueNetworkInfo(TargetInfo): + @property + def network(self) -> vim.OpaqueNetwork.Summary: ... + @property + def networkReservationSupported(self) -> bool: ... + + +class ParallelInfo(TargetInfo): ... + + +class PciPassthroughInfo(TargetInfo): + @property + def pciDevice(self) -> vim.host.PciDevice: ... + @property + def systemId(self) -> str: ... + + +class PciSharedGpuPassthroughInfo(TargetInfo): + @property + def vgpu(self) -> str: ... + + +class PrecisionClockInfo(TargetInfo): + @property + def systemClockProtocol(self) -> str: ... + + +class ProfileDetails(vmodl.DynamicData): + @property + def profile(self) -> List[ProfileSpec]: ... + @property + def diskProfileDetails(self) -> List[ProfileDetails.DiskProfileDetails]: ... + + + class DiskProfileDetails(vmodl.DynamicData): + @property + def diskId(self) -> int: ... + @property + def profile(self) -> List[ProfileSpec]: ... + + +class ProfileRawData(vmodl.DynamicData): + @property + def extensionKey(self) -> str: ... + @property + def objectData(self) -> str: ... + + +class ProfileSpec(vmodl.DynamicData): ... + + +class PropertyRelation(vmodl.DynamicData): + @property + def key(self) -> vmodl.DynamicProperty: ... + @property + def relations(self) -> List[vmodl.DynamicProperty]: ... + + +class QuestionInfo(vmodl.DynamicData): + @property + def id(self) -> str: ... + @property + def text(self) -> str: ... + @property + def choice(self) -> vim.option.ChoiceOption: ... + @property + def message(self) -> List[Message]: ... + + +class RelocateSpec(vmodl.DynamicData): + @property + def service(self) -> vim.ServiceLocator: ... + @property + def folder(self) -> vim.Folder: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def diskMoveType(self) -> str: ... + @property + def pool(self) -> vim.ResourcePool: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def disk(self) -> List[RelocateSpec.DiskLocator]: ... + @property + def transform(self) -> RelocateSpec.Transformation: ... + @property + def deviceChange(self) -> List[device.VirtualDeviceSpec]: ... + @property + def profile(self) -> List[ProfileSpec]: ... + @property + def cryptoSpec(self) -> vim.encryption.CryptoSpec: ... + + + class DiskLocator(vmodl.DynamicData): + @property + def diskId(self) -> int: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def diskMoveType(self) -> str: ... + @property + def diskBackingInfo(self) -> device.VirtualDevice.BackingInfo: ... + @property + def profile(self) -> List[ProfileSpec]: ... + @property + def backing(self) -> RelocateSpec.DiskLocator.BackingSpec: ... + @property + def filterSpec(self) -> List[BaseIndependentFilterSpec]: ... + + + class BackingSpec(vmodl.DynamicData): + @property + def parent(self) -> RelocateSpec.DiskLocator.BackingSpec: ... + @property + def crypto(self) -> vim.encryption.CryptoSpec: ... + + + class DiskMoveOptions(Enum): + moveAllDiskBackingsAndAllowSharing = "movealldiskbackingsandallowsharing" + moveAllDiskBackingsAndDisallowSharing = "movealldiskbackingsanddisallowsharing" + moveChildMostDiskBacking = "movechildmostdiskbacking" + createNewChildDiskBacking = "createnewchilddiskbacking" + moveAllDiskBackingsAndConsolidate = "movealldiskbackingsandconsolidate" + + + class Transformation(Enum): + flat = "flat" + sparse = "sparse" + + +class ReplicationConfigSpec(vmodl.DynamicData): + @property + def generation(self) -> long: ... + @property + def vmReplicationId(self) -> str: ... + @property + def destination(self) -> str: ... + @property + def port(self) -> int: ... + @property + def rpo(self) -> long: ... + @property + def quiesceGuestEnabled(self) -> bool: ... + @property + def paused(self) -> bool: ... + @property + def oppUpdatesEnabled(self) -> bool: ... + @property + def netCompressionEnabled(self) -> bool: ... + @property + def netEncryptionEnabled(self) -> bool: ... + @property + def encryptionDestination(self) -> str: ... + @property + def encryptionPort(self) -> int: ... + @property + def remoteCertificateThumbprint(self) -> str: ... + @property + def dataSetsReplicationEnabled(self) -> bool: ... + @property + def disk(self) -> List[ReplicationConfigSpec.DiskSettings]: ... + + + class DiskSettings(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def diskReplicationId(self) -> str: ... + + +class RuntimeInfo(vmodl.DynamicData): + @property + def device(self) -> List[DeviceRuntimeInfo]: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def connectionState(self) -> vim.VirtualMachine.ConnectionState: ... + @property + def powerState(self) -> vim.VirtualMachine.PowerState: ... + @property + def vmFailoverInProgress(self) -> bool: ... + @property + def faultToleranceState(self) -> vim.VirtualMachine.FaultToleranceState: ... + @property + def dasVmProtection(self) -> RuntimeInfo.DasProtectionState: ... + @property + def toolsInstallerMounted(self) -> bool: ... + @property + def suspendTime(self) -> datetime: ... + @property + def bootTime(self) -> datetime: ... + @property + def suspendInterval(self) -> long: ... + @property + def question(self) -> QuestionInfo: ... + @property + def memoryOverhead(self) -> long: ... + @property + def maxCpuUsage(self) -> int: ... + @property + def maxMemoryUsage(self) -> int: ... + @property + def numMksConnections(self) -> int: ... + @property + def recordReplayState(self) -> vim.VirtualMachine.RecordReplayState: ... + @property + def cleanPowerOff(self) -> bool: ... + @property + def needSecondaryReason(self) -> str: ... + @property + def onlineStandby(self) -> bool: ... + @property + def minRequiredEVCModeKey(self) -> str: ... + @property + def consolidationNeeded(self) -> bool: ... + @property + def offlineFeatureRequirement(self) -> List[FeatureRequirement]: ... + @property + def featureRequirement(self) -> List[FeatureRequirement]: ... + @property + def featureMask(self) -> List[vim.host.FeatureMask]: ... + @property + def vFlashCacheAllocation(self) -> long: ... + @property + def paused(self) -> bool: ... + @property + def snapshotInBackground(self) -> bool: ... + @property + def quiescedForkParent(self) -> bool: ... + @property + def instantCloneFrozen(self) -> bool: ... + @property + def cryptoState(self) -> str: ... + @property + def suspendedToMemory(self) -> bool: ... + @property + def opNotificationTimeout(self) -> long: ... + @property + def iommuActive(self) -> bool: ... + + + class DasProtectionState(vmodl.DynamicData): + @property + def dasProtected(self) -> bool: ... + + +class ScheduledHardwareUpgradeInfo(vmodl.DynamicData): + @property + def upgradePolicy(self) -> str: ... + @property + def versionKey(self) -> str: ... + @property + def scheduledHardwareUpgradeStatus(self) -> str: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class HardwareUpgradePolicy(Enum): + never = "never" + onSoftPowerOff = "onsoftpoweroff" + always = "always" + + + class HardwareUpgradeStatus(Enum): + none = "none" + pending = "pending" + success = "success" + failed = "failed" + + +class ScsiDiskDeviceInfo(DiskDeviceInfo): + @property + def disk(self) -> vim.host.ScsiDisk: ... + @property + def transportHint(self) -> str: ... + @property + def lunNumber(self) -> int: ... + + +class ScsiPassthroughInfo(TargetInfo): + @property + def scsiClass(self) -> str: ... + @property + def vendor(self) -> str: ... + @property + def physicalUnitNumber(self) -> int: ... + + + class ScsiClass(Enum): + disk = "disk" + tape = "tape" + printer = "printer" + processor = "processor" + worm = "worm" + cdrom = "cdrom" + scanner = "scanner" + optical = "optical" + media = "media" + com = "com" + raid = "raid" + unknown = "unknown" + + +class SerialInfo(TargetInfo): ... + + +class SgxInfo(vmodl.DynamicData): + @property + def epcSize(self) -> long: ... + @property + def flcMode(self) -> str: ... + @property + def lePubKeyHash(self) -> str: ... + @property + def requireAttestation(self) -> bool: ... + + + class FlcModes(Enum): + locked = "locked" + unlocked = "unlocked" + + +class SgxTargetInfo(TargetInfo): + @property + def maxEpcSize(self) -> long: ... + @property + def flcModes(self) -> List[str]: ... + @property + def lePubKeyHashes(self) -> List[str]: ... + @property + def requireAttestationSupported(self) -> bool: ... + + +class SnapshotInfo(vmodl.DynamicData): + @property + def currentSnapshot(self) -> Snapshot: ... + @property + def rootSnapshotList(self) -> List[SnapshotTree]: ... + + +class SnapshotTree(vmodl.DynamicData): + @property + def snapshot(self) -> Snapshot: ... + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def name(self) -> str: ... + @property + def description(self) -> str: ... + @property + def id(self) -> int: ... + @property + def createTime(self) -> datetime: ... + @property + def state(self) -> vim.VirtualMachine.PowerState: ... + @property + def quiesced(self) -> bool: ... + @property + def backupManifest(self) -> str: ... + @property + def childSnapshotList(self) -> List[SnapshotTree]: ... + @property + def replaySupported(self) -> bool: ... + + +class SoundInfo(TargetInfo): ... + + +class SriovDevicePoolInfo(vmodl.DynamicData): + @property + def key(self) -> str: ... + + +class SriovInfo(PciPassthroughInfo): + @property + def virtualFunction(self) -> bool: ... + @property + def pnic(self) -> str: ... + @property + def devicePool(self) -> SriovDevicePoolInfo: ... + + +class SriovNetworkDevicePoolInfo(SriovDevicePoolInfo): + @property + def switchKey(self) -> str: ... + @property + def switchUuid(self) -> str: ... + + +class StorageInfo(vmodl.DynamicData): + @property + def perDatastoreUsage(self) -> List[StorageInfo.UsageOnDatastore]: ... + @property + def timestamp(self) -> datetime: ... + + + class UsageOnDatastore(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + @property + def committed(self) -> long: ... + @property + def uncommitted(self) -> long: ... + @property + def unshared(self) -> long: ... + + +class Summary(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def runtime(self) -> RuntimeInfo: ... + @property + def guest(self) -> Summary.GuestSummary: ... + @property + def config(self) -> Summary.ConfigSummary: ... + @property + def storage(self) -> Summary.StorageSummary: ... + @property + def quickStats(self) -> Summary.QuickStats: ... + @property + def overallStatus(self) -> vim.ManagedEntity.Status: ... + @property + def customValue(self) -> List[vim.CustomFieldsManager.Value]: ... + + + class ConfigSummary(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def template(self) -> bool: ... + @property + def vmPathName(self) -> str: ... + @property + def memorySizeMB(self) -> int: ... + @property + def cpuReservation(self) -> int: ... + @property + def memoryReservation(self) -> int: ... + @property + def numCpu(self) -> int: ... + @property + def numEthernetCards(self) -> int: ... + @property + def numVirtualDisks(self) -> int: ... + @property + def uuid(self) -> str: ... + @property + def instanceUuid(self) -> str: ... + @property + def guestId(self) -> str: ... + @property + def guestFullName(self) -> str: ... + @property + def annotation(self) -> str: ... + @property + def product(self) -> vim.vApp.ProductInfo: ... + @property + def installBootRequired(self) -> bool: ... + @property + def ftInfo(self) -> FaultToleranceConfigInfo: ... + @property + def managedBy(self) -> vim.ext.ManagedByInfo: ... + @property + def tpmPresent(self) -> bool: ... + @property + def numVmiopBackings(self) -> int: ... + @property + def hwVersion(self) -> str: ... + + + class GuestSummary(vmodl.DynamicData): + @property + def guestId(self) -> str: ... + @property + def guestFullName(self) -> str: ... + @property + def toolsStatus(self) -> GuestInfo.ToolsStatus: ... + @property + def toolsVersionStatus(self) -> str: ... + @property + def toolsVersionStatus2(self) -> str: ... + @property + def toolsRunningStatus(self) -> str: ... + @property + def hostName(self) -> str: ... + @property + def ipAddress(self) -> str: ... + @property + def hwVersion(self) -> str: ... + + + class QuickStats(vmodl.DynamicData): + @property + def overallCpuUsage(self) -> int: ... + @property + def overallCpuDemand(self) -> int: ... + @property + def overallCpuReadiness(self) -> int: ... + @property + def guestMemoryUsage(self) -> int: ... + @property + def hostMemoryUsage(self) -> int: ... + @property + def guestHeartbeatStatus(self) -> vim.ManagedEntity.Status: ... + @property + def distributedCpuEntitlement(self) -> int: ... + @property + def distributedMemoryEntitlement(self) -> int: ... + @property + def staticCpuEntitlement(self) -> int: ... + @property + def staticMemoryEntitlement(self) -> int: ... + @property + def grantedMemory(self) -> int: ... + @property + def privateMemory(self) -> int: ... + @property + def sharedMemory(self) -> int: ... + @property + def swappedMemory(self) -> int: ... + @property + def balloonedMemory(self) -> int: ... + @property + def consumedOverheadMemory(self) -> int: ... + @property + def ftLogBandwidth(self) -> int: ... + @property + def ftSecondaryLatency(self) -> int: ... + @property + def ftLatencyStatus(self) -> vim.ManagedEntity.Status: ... + @property + def compressedMemory(self) -> long: ... + @property + def uptimeSeconds(self) -> int: ... + @property + def ssdSwappedMemory(self) -> long: ... + @property + def activeMemory(self) -> int: ... + @property + def memoryTierStats(self) -> List[Summary.QuickStats.MemoryTierStats]: ... + + + class MemoryTierStats(vmodl.DynamicData): + @property + def memoryTierType(self) -> str: ... + @property + def readBandwidth(self) -> long: ... + + + class StorageSummary(vmodl.DynamicData): + @property + def committed(self) -> long: ... + @property + def uncommitted(self) -> long: ... + @property + def unshared(self) -> long: ... + @property + def timestamp(self) -> datetime: ... + + +class TargetInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def configurationTag(self) -> List[str]: ... + + + class ConfigurationTag(Enum): + compliant = "compliant" + clusterWide = "clusterwide" + + +class ToolsConfigInfo(vmodl.DynamicData): + @property + def toolsVersion(self) -> int: ... + @property + def toolsInstallType(self) -> str: ... + @property + def afterPowerOn(self) -> bool: ... + @property + def afterResume(self) -> bool: ... + @property + def beforeGuestStandby(self) -> bool: ... + @property + def beforeGuestShutdown(self) -> bool: ... + @property + def beforeGuestReboot(self) -> bool: ... + @property + def toolsUpgradePolicy(self) -> str: ... + @property + def pendingCustomization(self) -> str: ... + @property + def customizationKeyId(self) -> vim.encryption.CryptoKeyId: ... + @property + def syncTimeWithHostAllowed(self) -> bool: ... + @property + def syncTimeWithHost(self) -> bool: ... + @property + def lastInstallInfo(self) -> ToolsConfigInfo.ToolsLastInstallInfo: ... + + + class ToolsLastInstallInfo(vmodl.DynamicData): + @property + def counter(self) -> int: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class UpgradePolicy(Enum): + manual = "manual" + upgradeAtPowerCycle = "upgradeatpowercycle" + + +class UsbInfo(TargetInfo): + @property + def description(self) -> str: ... + @property + def vendor(self) -> int: ... + @property + def product(self) -> int: ... + @property + def physicalPath(self) -> str: ... + @property + def family(self) -> List[str]: ... + @property + def speed(self) -> List[str]: ... + @property + def summary(self) -> Summary: ... + + + class Family(Enum): + audio = "audio" + hid = "hid" + hid_bootable = "hid_bootable" + physical = "physical" + communication = "communication" + imaging = "imaging" + printer = "printer" + storage = "storage" + hub = "hub" + smart_card = "smart_card" + security = "security" + video = "video" + wireless = "wireless" + bluetooth = "bluetooth" + wusb = "wusb" + pda = "pda" + vendor_specific = "vendor_specific" + other = "other" + unknownFamily = "unknownfamily" + + + class Speed(Enum): + low = "low" + full = "full" + high = "high" + superSpeed = "superspeed" + superSpeedPlus = "superspeedplus" + superSpeed20Gbps = "superspeed20gbps" + unknownSpeed = "unknownspeed" + + +class UsbScanCodeSpec(vmodl.DynamicData): + @property + def keyEvents(self) -> List[UsbScanCodeSpec.KeyEvent]: ... + + + class KeyEvent(vmodl.DynamicData): + @property + def usbHidCode(self) -> int: ... + @property + def modifiers(self) -> UsbScanCodeSpec.ModifierType: ... + + + class ModifierType(vmodl.DynamicData): + @property + def leftControl(self) -> bool: ... + @property + def leftShift(self) -> bool: ... + @property + def leftAlt(self) -> bool: ... + @property + def leftGui(self) -> bool: ... + @property + def rightControl(self) -> bool: ... + @property + def rightShift(self) -> bool: ... + @property + def rightAlt(self) -> bool: ... + @property + def rightGui(self) -> bool: ... + + +class VFlashModuleInfo(TargetInfo): + @property + def vFlashModule(self) -> vim.host.VFlashManager.VFlashCacheConfigInfo.VFlashModuleConfigOption: ... + + +class VcpuConfig(vmodl.DynamicData): + @property + def latencySensitivity(self) -> vim.LatencySensitivity: ... + + +class VendorDeviceGroupInfo(TargetInfo): + @property + def deviceGroupName(self) -> str: ... + @property + def deviceGroupDescription(self) -> str: ... + @property + def componentDeviceInfo(self) -> List[VendorDeviceGroupInfo.ComponentDeviceInfo]: ... + + + class ComponentDeviceInfo(vmodl.DynamicData): + @property + def type(self) -> str: ... + @property + def vendorName(self) -> str: ... + @property + def deviceName(self) -> str: ... + @property + def isConfigurable(self) -> bool: ... + @property + def device(self) -> device.VirtualDevice: ... + + + class ComponentType(Enum): + pciPassthru = "pcipassthru" + nvidiaVgpu = "nvidiavgpu" + sriovNic = "sriovnic" + dvx = "dvx" + + +class VgpuDeviceInfo(TargetInfo): + @property + def deviceName(self) -> str: ... + @property + def deviceVendorId(self) -> long: ... + @property + def maxFbSizeInGib(self) -> long: ... + @property + def timeSlicedCapable(self) -> bool: ... + @property + def migCapable(self) -> bool: ... + @property + def computeProfileCapable(self) -> bool: ... + @property + def quadroProfileCapable(self) -> bool: ... + + +class VgpuProfileInfo(TargetInfo): + @property + def profileName(self) -> str: ... + @property + def deviceVendorId(self) -> long: ... + @property + def fbSizeInGib(self) -> long: ... + @property + def profileSharing(self) -> str: ... + @property + def profileClass(self) -> str: ... + + + class ProfileClass(Enum): + compute = "compute" + quadro = "quadro" + + + class ProfileSharing(Enum): + timeSliced = "timesliced" + mig = "mig" + + +class VirtualDeviceGroups(vmodl.DynamicData): + @property + def deviceGroup(self) -> List[VirtualDeviceGroups.DeviceGroup]: ... + + + class DeviceGroup(vmodl.DynamicData): + @property + def groupInstanceKey(self) -> int: ... + @property + def deviceInfo(self) -> vim.Description: ... + + + class VendorDeviceGroup(VirtualDeviceGroups.DeviceGroup): + @property + def deviceGroupName(self) -> str: ... + + +class VirtualDeviceSwap(vmodl.DynamicData): + @property + def lsiToPvscsi(self) -> VirtualDeviceSwap.DeviceSwapInfo: ... + + + class DeviceSwapInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def applicable(self) -> bool: ... + @property + def status(self) -> str: ... + + + class DeviceSwapStatus(Enum): + none = "none" + scheduled = "scheduled" + inprogress = "inprogress" + failed = "failed" + completed = "completed" + + +class VirtualHardware(vmodl.DynamicData): + @property + def numCPU(self) -> int: ... + @property + def numCoresPerSocket(self) -> int: ... + @property + def autoCoresPerSocket(self) -> bool: ... + @property + def memoryMB(self) -> int: ... + @property + def virtualICH7MPresent(self) -> bool: ... + @property + def virtualSMCPresent(self) -> bool: ... + @property + def device(self) -> List[device.VirtualDevice]: ... + @property + def motherboardLayout(self) -> str: ... + @property + def simultaneousThreads(self) -> int: ... + + + class MotherboardLayout(Enum): + i440bxHostBridge = "i440bxhostbridge" + acpiHostBridges = "acpihostbridges" + + +class VirtualHardwareOption(vmodl.DynamicData): + @property + def hwVersion(self) -> int: ... + @property + def virtualDeviceOption(self) -> List[device.VirtualDeviceOption]: ... + @property + def deviceListReadonly(self) -> bool: ... + @property + def numCPU(self) -> List[int]: ... + @property + def numCoresPerSocket(self) -> vim.option.IntOption: ... + @property + def autoCoresPerSocket(self) -> vim.option.BoolOption: ... + @property + def numCpuReadonly(self) -> bool: ... + @property + def memoryMB(self) -> vim.option.LongOption: ... + @property + def numPCIControllers(self) -> vim.option.IntOption: ... + @property + def numIDEControllers(self) -> vim.option.IntOption: ... + @property + def numUSBControllers(self) -> vim.option.IntOption: ... + @property + def numUSBXHCIControllers(self) -> vim.option.IntOption: ... + @property + def numSIOControllers(self) -> vim.option.IntOption: ... + @property + def numPS2Controllers(self) -> vim.option.IntOption: ... + @property + def licensingLimit(self) -> List[PropertyPath]: ... + @property + def numSupportedWwnPorts(self) -> vim.option.IntOption: ... + @property + def numSupportedWwnNodes(self) -> vim.option.IntOption: ... + @property + def resourceConfigOption(self) -> vim.ResourceConfigOption: ... + @property + def numNVDIMMControllers(self) -> vim.option.IntOption: ... + @property + def numTPMDevices(self) -> vim.option.IntOption: ... + @property + def numWDTDevices(self) -> vim.option.IntOption: ... + @property + def numPrecisionClockDevices(self) -> vim.option.IntOption: ... + @property + def epcMemoryMB(self) -> vim.option.LongOption: ... + @property + def acpiHostBridgesFirmware(self) -> List[str]: ... + @property + def numCpuSimultaneousThreads(self) -> vim.option.IntOption: ... + @property + def numNumaNodes(self) -> vim.option.IntOption: ... + @property + def numDeviceGroups(self) -> vim.option.IntOption: ... + @property + def deviceGroupTypes(self) -> List[type]: ... + + +class VirtualNuma(vmodl.DynamicData): + @property + def coresPerNumaNode(self) -> int: ... + @property + def exposeVnumaOnCpuHotadd(self) -> bool: ... + + +class VirtualNumaInfo(vmodl.DynamicData): + @property + def coresPerNumaNode(self) -> int: ... + @property + def autoCoresPerNumaNode(self) -> bool: ... + @property + def vnumaOnCpuHotaddExposed(self) -> bool: ... + + +class VirtualPMem(vmodl.DynamicData): + @property + def snapshotMode(self) -> str: ... + + + class SnapshotMode(Enum): + independent_persistent = "independent_persistent" + independent_eraseonrevert = "independent_eraseonrevert" + + +class VmImportSpec(vim.ImportSpec): + @property + def configSpec(self) -> ConfigSpec: ... + @property + def resPoolEntity(self) -> vim.ResourcePool: ... + + +class WindowsQuiesceSpec(GuestQuiesceSpec): + @property + def vssBackupType(self) -> int: ... + @property + def vssBootableSystemState(self) -> bool: ... + @property + def vssPartialFileSupport(self) -> bool: ... + @property + def vssBackupContext(self) -> str: ... + + + class VssBackupContext(Enum): + ctx_auto = "ctx_auto" + ctx_backup = "ctx_backup" + ctx_file_share_backup = "ctx_file_share_backup" + + +class EndGuestQuiesceError(vim.version.version1): ... + + +class VmMetadataOp(vim.version.version9): ... + + +class Owner(vim.version.version9): ... \ No newline at end of file diff --git a/pyVmomi/vim/vm/check/__init__.pyi b/pyVmomi/vim/vm/check/__init__.pyi new file mode 100644 index 000000000..63b6ef71e --- /dev/null +++ b/pyVmomi/vim/vm/check/__init__.pyi @@ -0,0 +1,28 @@ +from typing import List +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import ManagedObject + + +class CompatibilityChecker(ManagedObject): + def CheckCompatibility(self, vm: vim.VirtualMachine, host: vim.HostSystem, pool: vim.ResourcePool, testType: List[str]) -> vim.Task: ... + def CheckVmConfig(self, spec: vim.vm.ConfigSpec, vm: vim.VirtualMachine, host: vim.HostSystem, pool: vim.ResourcePool, testType: List[str]) -> vim.Task: ... + def CheckPowerOn(self, vm: vim.VirtualMachine, host: vim.HostSystem, pool: vim.ResourcePool, testType: List[str]) -> vim.Task: ... + + +class ProvisioningChecker(ManagedObject): + def QueryVMotionCompatibilityEx(self, vm: List[vim.VirtualMachine], host: List[vim.HostSystem]) -> vim.Task: ... + def CheckMigrate(self, vm: vim.VirtualMachine, host: vim.HostSystem, pool: vim.ResourcePool, state: vim.VirtualMachine.PowerState, testType: List[str]) -> vim.Task: ... + def CheckRelocate(self, vm: vim.VirtualMachine, spec: vim.vm.RelocateSpec, testType: List[str]) -> vim.Task: ... + def CheckClone(self, vm: vim.VirtualMachine, folder: vim.Folder, name: str, spec: vim.vm.CloneSpec, testType: List[str]) -> vim.Task: ... + def CheckInstantClone(self, vm: vim.VirtualMachine, spec: vim.vm.InstantCloneSpec, testType: List[str]) -> vim.Task: ... + + +class Result(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def host(self) -> vim.HostSystem: ... + @property + def warning(self) -> List[vmodl.MethodFault]: ... + @property + def error(self) -> List[vmodl.MethodFault]: ... \ No newline at end of file diff --git a/pyVmomi/vim/vm/customization/__init__.pyi b/pyVmomi/vim/vm/customization/__init__.pyi new file mode 100644 index 000000000..d4f2d8fc6 --- /dev/null +++ b/pyVmomi/vim/vm/customization/__init__.pyi @@ -0,0 +1,254 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import byte + + +class AdapterMapping(vmodl.DynamicData): + @property + def macAddress(self) -> str: ... + @property + def adapter(self) -> IPSettings: ... + + +class AutoIpV6Generator(IpV6Generator): ... + + +class CloudinitPrep(IdentitySettings): + @property + def metadata(self) -> str: ... + @property + def userdata(self) -> str: ... + + +class CustomIpGenerator(IpGenerator): + @property + def argument(self) -> str: ... + + +class CustomIpV6Generator(IpV6Generator): + @property + def argument(self) -> str: ... + + +class CustomNameGenerator(NameGenerator): + @property + def argument(self) -> str: ... + + +class DhcpIpGenerator(IpGenerator): ... + + +class DhcpIpV6Generator(IpV6Generator): ... + + +class FixedIp(IpGenerator): + @property + def ipAddress(self) -> str: ... + + +class FixedIpV6(IpV6Generator): + @property + def ipAddress(self) -> str: ... + @property + def subnetMask(self) -> int: ... + + +class FixedName(NameGenerator): + @property + def name(self) -> str: ... + + +class GlobalIPSettings(vmodl.DynamicData): + @property + def dnsSuffixList(self) -> List[str]: ... + @property + def dnsServerList(self) -> List[str]: ... + + +class GuiRunOnce(vmodl.DynamicData): + @property + def commandList(self) -> List[str]: ... + + +class GuiUnattended(vmodl.DynamicData): + @property + def password(self) -> Password: ... + @property + def timeZone(self) -> int: ... + @property + def autoLogon(self) -> bool: ... + @property + def autoLogonCount(self) -> int: ... + + +class IPSettings(vmodl.DynamicData): + @property + def ip(self) -> IpGenerator: ... + @property + def subnetMask(self) -> str: ... + @property + def gateway(self) -> List[str]: ... + @property + def ipV6Spec(self) -> IPSettings.IpV6AddressSpec: ... + @property + def dnsServerList(self) -> List[str]: ... + @property + def dnsDomain(self) -> str: ... + @property + def primaryWINS(self) -> str: ... + @property + def secondaryWINS(self) -> str: ... + @property + def netBIOS(self) -> IPSettings.NetBIOSMode: ... + + + class IpV6AddressSpec(vmodl.DynamicData): + @property + def ip(self) -> List[IpV6Generator]: ... + @property + def gateway(self) -> List[str]: ... + + + class NetBIOSMode(Enum): + enableNetBIOSViaDhcp = "enablenetbiosviadhcp" + enableNetBIOS = "enablenetbios" + disableNetBIOS = "disablenetbios" + + +class Identification(vmodl.DynamicData): + @property + def joinWorkgroup(self) -> str: ... + @property + def joinDomain(self) -> str: ... + @property + def domainAdmin(self) -> str: ... + @property + def domainAdminPassword(self) -> Password: ... + + +class IdentitySettings(vmodl.DynamicData): ... + + +class IpGenerator(vmodl.DynamicData): ... + + +class IpV6Generator(vmodl.DynamicData): ... + + +class LicenseFilePrintData(vmodl.DynamicData): + @property + def autoMode(self) -> LicenseFilePrintData.AutoMode: ... + @property + def autoUsers(self) -> int: ... + + + class AutoMode(Enum): + perServer = "perserver" + perSeat = "perseat" + + +class LinuxOptions(Options): ... + + +class LinuxPrep(IdentitySettings): + @property + def hostName(self) -> NameGenerator: ... + @property + def domain(self) -> str: ... + @property + def timeZone(self) -> str: ... + @property + def hwClockUTC(self) -> bool: ... + @property + def scriptText(self) -> str: ... + + +class NameGenerator(vmodl.DynamicData): ... + + +class Options(vmodl.DynamicData): ... + + +class Password(vmodl.DynamicData): + @property + def value(self) -> str: ... + @property + def plainText(self) -> bool: ... + + +class PrefixNameGenerator(NameGenerator): + @property + def base(self) -> str: ... + + +class Specification(vmodl.DynamicData): + @property + def options(self) -> Options: ... + @property + def identity(self) -> IdentitySettings: ... + @property + def globalIPSettings(self) -> GlobalIPSettings: ... + @property + def nicSettingMap(self) -> List[AdapterMapping]: ... + @property + def encryptionKey(self) -> List[byte]: ... + + +class StatelessIpV6Generator(IpV6Generator): ... + + +class Sysprep(IdentitySettings): + @property + def guiUnattended(self) -> GuiUnattended: ... + @property + def userData(self) -> UserData: ... + @property + def guiRunOnce(self) -> GuiRunOnce: ... + @property + def identification(self) -> Identification: ... + @property + def licenseFilePrintData(self) -> LicenseFilePrintData: ... + + +class SysprepText(IdentitySettings): + @property + def value(self) -> str: ... + + +class UnknownIpGenerator(IpGenerator): ... + + +class UnknownIpV6Generator(IpV6Generator): ... + + +class UnknownNameGenerator(NameGenerator): ... + + +class UserData(vmodl.DynamicData): + @property + def fullName(self) -> str: ... + @property + def orgName(self) -> str: ... + @property + def computerName(self) -> NameGenerator: ... + @property + def productId(self) -> str: ... + + +class VirtualMachineNameGenerator(NameGenerator): ... + + +class WinOptions(Options): + @property + def changeSID(self) -> bool: ... + @property + def deleteAccounts(self) -> bool: ... + @property + def reboot(self) -> WinOptions.SysprepRebootOption: ... + + + class SysprepRebootOption(Enum): + reboot = "reboot" + noreboot = "noreboot" + shutdown = "shutdown" \ No newline at end of file diff --git a/pyVmomi/vim/vm/device/__init__.pyi b/pyVmomi/vim/vm/device/__init__.pyi new file mode 100644 index 000000000..77f125ddf --- /dev/null +++ b/pyVmomi/vim/vm/device/__init__.pyi @@ -0,0 +1,1404 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import PropertyPath, binary, long, short + + +class HostDiskMappingInfo(vmodl.DynamicData): + @property + def physicalPartition(self) -> HostDiskMappingInfo.PartitionInfo: ... + @property + def name(self) -> str: ... + @property + def exclusive(self) -> bool: ... + + + class PartitionInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def fileSystem(self) -> str: ... + @property + def capacityInKb(self) -> long: ... + + +class HostDiskMappingOption(vmodl.DynamicData): + @property + def physicalPartition(self) -> List[HostDiskMappingOption.PartitionOption]: ... + @property + def name(self) -> str: ... + + + class PartitionOption(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def fileSystem(self) -> str: ... + @property + def capacityInKb(self) -> long: ... + + +class ParaVirtualSCSIController(VirtualSCSIController): ... + + +class ParaVirtualSCSIControllerOption(VirtualSCSIControllerOption): ... + + +class VirtualAHCIController(VirtualSATAController): ... + + +class VirtualAHCIControllerOption(VirtualSATAControllerOption): ... + + +class VirtualBusLogicController(VirtualSCSIController): ... + + +class VirtualBusLogicControllerOption(VirtualSCSIControllerOption): ... + + +class VirtualCdrom(VirtualDevice): + + + class AtapiBackingInfo(VirtualDevice.DeviceBackingInfo): ... + + + class IsoBackingInfo(VirtualDevice.FileBackingInfo): ... + + + class PassthroughBackingInfo(VirtualDevice.DeviceBackingInfo): + @property + def exclusive(self) -> bool: ... + + + class RemoteAtapiBackingInfo(VirtualDevice.RemoteDeviceBackingInfo): ... + + + class RemotePassthroughBackingInfo(VirtualDevice.RemoteDeviceBackingInfo): + @property + def exclusive(self) -> bool: ... + + +class VirtualCdromOption(VirtualDeviceOption): + + + class AtapiBackingOption(VirtualDeviceOption.DeviceBackingOption): ... + + + class IsoBackingOption(VirtualDeviceOption.FileBackingOption): ... + + + class PassthroughBackingOption(VirtualDeviceOption.DeviceBackingOption): + @property + def exclusive(self) -> vim.option.BoolOption: ... + + + class RemoteAtapiBackingOption(VirtualDeviceOption.DeviceBackingOption): ... + + + class RemotePassthroughBackingOption(VirtualDeviceOption.RemoteDeviceBackingOption): + @property + def exclusive(self) -> vim.option.BoolOption: ... + + +class VirtualController(VirtualDevice): + @property + def busNumber(self) -> int: ... + @property + def device(self) -> List[int]: ... + + +class VirtualControllerOption(VirtualDeviceOption): + @property + def devices(self) -> vim.option.IntOption: ... + @property + def supportedDevice(self) -> List[type]: ... + + +class VirtualDevice(vmodl.DynamicData): + @property + def key(self) -> int: ... + @property + def deviceInfo(self) -> vim.Description: ... + @property + def backing(self) -> VirtualDevice.BackingInfo: ... + @property + def connectable(self) -> VirtualDevice.ConnectInfo: ... + @property + def slotInfo(self) -> VirtualDevice.BusSlotInfo: ... + @property + def controllerKey(self) -> int: ... + @property + def unitNumber(self) -> int: ... + @property + def numaNode(self) -> int: ... + @property + def deviceGroupInfo(self) -> VirtualDevice.DeviceGroupInfo: ... + + + class BackingInfo(vmodl.DynamicData): ... + + + class BusSlotInfo(vmodl.DynamicData): ... + + + class ConnectInfo(vmodl.DynamicData): + @property + def migrateConnect(self) -> str: ... + @property + def startConnected(self) -> bool: ... + @property + def allowGuestControl(self) -> bool: ... + @property + def connected(self) -> bool: ... + @property + def status(self) -> str: ... + + + class MigrateConnectOp(Enum): + connect = "connect" + disconnect = "disconnect" + unset = "unset" + + + class Status(Enum): + ok = "ok" + recoverableError = "recoverableerror" + unrecoverableError = "unrecoverableerror" + untried = "untried" + + + class DeviceBackingInfo(VirtualDevice.BackingInfo): + @property + def deviceName(self) -> str: ... + @property + def useAutoDetect(self) -> bool: ... + + + class DeviceGroupInfo(vmodl.DynamicData): + @property + def groupInstanceKey(self) -> int: ... + @property + def sequenceId(self) -> int: ... + + + class FileBackingInfo(VirtualDevice.BackingInfo): + @property + def fileName(self) -> str: ... + @property + def datastore(self) -> vim.Datastore: ... + @property + def backingObjectId(self) -> str: ... + + + class PciBusSlotInfo(VirtualDevice.BusSlotInfo): + @property + def pciSlotNumber(self) -> int: ... + + + class PipeBackingInfo(VirtualDevice.BackingInfo): + @property + def pipeName(self) -> str: ... + + + class RemoteDeviceBackingInfo(VirtualDevice.BackingInfo): + @property + def deviceName(self) -> str: ... + @property + def useAutoDetect(self) -> bool: ... + + + class URIBackingInfo(VirtualDevice.BackingInfo): + @property + def serviceURI(self) -> str: ... + @property + def direction(self) -> str: ... + @property + def proxyURI(self) -> str: ... + + +class VirtualDeviceOption(vmodl.DynamicData): + @property + def type(self) -> type: ... + @property + def connectOption(self) -> VirtualDeviceOption.ConnectOption: ... + @property + def busSlotOption(self) -> VirtualDeviceOption.BusSlotOption: ... + @property + def controllerType(self) -> type: ... + @property + def autoAssignController(self) -> vim.option.BoolOption: ... + @property + def backingOption(self) -> List[VirtualDeviceOption.BackingOption]: ... + @property + def defaultBackingOptionIndex(self) -> int: ... + @property + def licensingLimit(self) -> List[PropertyPath]: ... + @property + def deprecated(self) -> bool: ... + @property + def plugAndPlay(self) -> bool: ... + @property + def hotRemoveSupported(self) -> bool: ... + @property + def numaSupported(self) -> bool: ... + + + class BackingOption(vmodl.DynamicData): + @property + def type(self) -> type: ... + + + class BusSlotOption(vmodl.DynamicData): + @property + def type(self) -> type: ... + + + class ConnectOption(vmodl.DynamicData): + @property + def startConnected(self) -> vim.option.BoolOption: ... + @property + def allowGuestControl(self) -> vim.option.BoolOption: ... + + + class DeviceBackingOption(VirtualDeviceOption.BackingOption): + @property + def autoDetectAvailable(self) -> vim.option.BoolOption: ... + + + class HostPointingDeviceChoice(Enum): + autodetect = "autodetect" + intellimouseExplorer = "intellimouseexplorer" + intellimousePs2 = "intellimouseps2" + logitechMouseman = "logitechmouseman" + microsoft_serial = "microsoft_serial" + mouseSystems = "mousesystems" + mousemanSerial = "mousemanserial" + ps2 = "ps2" + + + class FileBackingOption(VirtualDeviceOption.BackingOption): + @property + def fileNameExtensions(self) -> vim.option.ChoiceOption: ... + + + class FileExtension(Enum): + iso = "iso" + flp = "flp" + vmdk = "vmdk" + dsk = "dsk" + rdm = "rdm" + + + class PipeBackingOption(VirtualDeviceOption.BackingOption): ... + + + class RemoteDeviceBackingOption(VirtualDeviceOption.BackingOption): + @property + def autoDetectAvailable(self) -> vim.option.BoolOption: ... + + + class URIBackingOption(VirtualDeviceOption.BackingOption): + @property + def directions(self) -> vim.option.ChoiceOption: ... + + + class Direction(Enum): + server = "server" + client = "client" + + +class VirtualDeviceSpec(vmodl.DynamicData): + @property + def operation(self) -> VirtualDeviceSpec.Operation: ... + @property + def fileOperation(self) -> VirtualDeviceSpec.FileOperation: ... + @property + def device(self) -> VirtualDevice: ... + @property + def profile(self) -> List[vim.vm.ProfileSpec]: ... + @property + def backing(self) -> VirtualDeviceSpec.BackingSpec: ... + @property + def filterSpec(self) -> List[vim.vm.BaseIndependentFilterSpec]: ... + @property + def changeMode(self) -> str: ... + + + class BackingSpec(vmodl.DynamicData): + @property + def parent(self) -> VirtualDeviceSpec.BackingSpec: ... + @property + def crypto(self) -> vim.encryption.CryptoSpec: ... + + + class ChangeMode(Enum): + fail = "fail" + skip = "skip" + + + class FileOperation(Enum): + create = "create" + destroy = "destroy" + replace = "replace" + + + class Operation(Enum): + add = "add" + remove = "remove" + edit = "edit" + + +class VirtualDisk(VirtualDevice): + @property + def capacityInKB(self) -> long: ... + @property + def capacityInBytes(self) -> long: ... + @property + def shares(self) -> vim.SharesInfo: ... + @property + def storageIOAllocation(self) -> vim.StorageResourceManager.IOAllocationInfo: ... + @property + def diskObjectId(self) -> str: ... + @property + def vFlashCacheConfigInfo(self) -> VirtualDisk.VFlashCacheConfigInfo: ... + @property + def iofilter(self) -> List[str]: ... + @property + def vDiskId(self) -> vim.vslm.ID: ... + @property + def vDiskVersion(self) -> int: ... + @property + def nativeUnmanagedLinkedClone(self) -> bool: ... + @property + def independentFilters(self) -> List[vim.vm.BaseIndependentFilterSpec]: ... + + + class FlatVer1BackingInfo(VirtualDevice.FileBackingInfo): + @property + def diskMode(self) -> str: ... + @property + def split(self) -> bool: ... + @property + def writeThrough(self) -> bool: ... + @property + def contentId(self) -> str: ... + @property + def parent(self) -> VirtualDisk.FlatVer1BackingInfo: ... + + + class FlatVer2BackingInfo(VirtualDevice.FileBackingInfo): + @property + def diskMode(self) -> str: ... + @property + def split(self) -> bool: ... + @property + def writeThrough(self) -> bool: ... + @property + def thinProvisioned(self) -> bool: ... + @property + def eagerlyScrub(self) -> bool: ... + @property + def uuid(self) -> str: ... + @property + def contentId(self) -> str: ... + @property + def changeId(self) -> str: ... + @property + def parent(self) -> VirtualDisk.FlatVer2BackingInfo: ... + @property + def deltaDiskFormat(self) -> str: ... + @property + def digestEnabled(self) -> bool: ... + @property + def deltaGrainSize(self) -> int: ... + @property + def deltaDiskFormatVariant(self) -> str: ... + @property + def sharing(self) -> str: ... + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + + + class LocalPMemBackingInfo(VirtualDevice.FileBackingInfo): + @property + def diskMode(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def volumeUUID(self) -> str: ... + @property + def contentId(self) -> str: ... + + + class PartitionedRawDiskVer2BackingInfo(VirtualDisk.RawDiskVer2BackingInfo): + @property + def partition(self) -> List[int]: ... + + + class RawDiskMappingVer1BackingInfo(VirtualDevice.FileBackingInfo): + @property + def lunUuid(self) -> str: ... + @property + def deviceName(self) -> str: ... + @property + def compatibilityMode(self) -> str: ... + @property + def diskMode(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def contentId(self) -> str: ... + @property + def changeId(self) -> str: ... + @property + def parent(self) -> VirtualDisk.RawDiskMappingVer1BackingInfo: ... + @property + def deltaDiskFormat(self) -> str: ... + @property + def deltaGrainSize(self) -> int: ... + @property + def sharing(self) -> str: ... + + + class RawDiskVer2BackingInfo(VirtualDevice.DeviceBackingInfo): + @property + def descriptorFileName(self) -> str: ... + @property + def uuid(self) -> str: ... + @property + def changeId(self) -> str: ... + @property + def sharing(self) -> str: ... + + + class SeSparseBackingInfo(VirtualDevice.FileBackingInfo): + @property + def diskMode(self) -> str: ... + @property + def writeThrough(self) -> bool: ... + @property + def uuid(self) -> str: ... + @property + def contentId(self) -> str: ... + @property + def changeId(self) -> str: ... + @property + def parent(self) -> VirtualDisk.SeSparseBackingInfo: ... + @property + def deltaDiskFormat(self) -> str: ... + @property + def digestEnabled(self) -> bool: ... + @property + def grainSize(self) -> int: ... + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + + + class SparseVer1BackingInfo(VirtualDevice.FileBackingInfo): + @property + def diskMode(self) -> str: ... + @property + def split(self) -> bool: ... + @property + def writeThrough(self) -> bool: ... + @property + def spaceUsedInKB(self) -> long: ... + @property + def contentId(self) -> str: ... + @property + def parent(self) -> VirtualDisk.SparseVer1BackingInfo: ... + + + class SparseVer2BackingInfo(VirtualDevice.FileBackingInfo): + @property + def diskMode(self) -> str: ... + @property + def split(self) -> bool: ... + @property + def writeThrough(self) -> bool: ... + @property + def spaceUsedInKB(self) -> long: ... + @property + def uuid(self) -> str: ... + @property + def contentId(self) -> str: ... + @property + def changeId(self) -> str: ... + @property + def parent(self) -> VirtualDisk.SparseVer2BackingInfo: ... + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + + + class VFlashCacheConfigInfo(vmodl.DynamicData): + @property + def vFlashModule(self) -> str: ... + @property + def reservationInMB(self) -> long: ... + @property + def cacheConsistencyType(self) -> str: ... + @property + def cacheMode(self) -> str: ... + @property + def blockSizeInKB(self) -> long: ... + + + class CacheConsistencyType(Enum): + strong = "strong" + weak = "weak" + + + class CacheMode(Enum): + write_thru = "write_thru" + write_back = "write_back" + + + class DeltaDiskFormat(Enum): + redoLogFormat = "redologformat" + nativeFormat = "nativeformat" + seSparseFormat = "sesparseformat" + + + class DeltaDiskFormatVariant(Enum): + vmfsSparseVariant = "vmfssparsevariant" + vsanSparseVariant = "vsansparsevariant" + + + class Sharing(Enum): + sharingNone = "sharingnone" + sharingMultiWriter = "sharingmultiwriter" + + +class VirtualDiskId(vmodl.DynamicData): + @property + def vm(self) -> vim.VirtualMachine: ... + @property + def diskId(self) -> int: ... + + +class VirtualDiskOption(VirtualDeviceOption): + @property + def capacityInKB(self) -> vim.option.LongOption: ... + @property + def ioAllocationOption(self) -> vim.StorageResourceManager.IOAllocationOption: ... + @property + def vFlashCacheConfigOption(self) -> VirtualDiskOption.VFlashCacheConfigOption: ... + + + class DeltaDiskFormatsSupported(vmodl.DynamicData): + @property + def datastoreType(self) -> type: ... + @property + def deltaDiskFormat(self) -> vim.option.ChoiceOption: ... + + + class FlatVer1BackingOption(VirtualDeviceOption.FileBackingOption): + @property + def diskMode(self) -> vim.option.ChoiceOption: ... + @property + def split(self) -> vim.option.BoolOption: ... + @property + def writeThrough(self) -> vim.option.BoolOption: ... + @property + def growable(self) -> bool: ... + + + class FlatVer2BackingOption(VirtualDeviceOption.FileBackingOption): + @property + def diskMode(self) -> vim.option.ChoiceOption: ... + @property + def split(self) -> vim.option.BoolOption: ... + @property + def writeThrough(self) -> vim.option.BoolOption: ... + @property + def growable(self) -> bool: ... + @property + def hotGrowable(self) -> bool: ... + @property + def uuid(self) -> bool: ... + @property + def thinProvisioned(self) -> vim.option.BoolOption: ... + @property + def eagerlyScrub(self) -> vim.option.BoolOption: ... + @property + def deltaDiskFormat(self) -> vim.option.ChoiceOption: ... + @property + def deltaDiskFormatsSupported(self) -> List[VirtualDiskOption.DeltaDiskFormatsSupported]: ... + + + class LocalPMemBackingOption(VirtualDeviceOption.FileBackingOption): + @property + def diskMode(self) -> vim.option.ChoiceOption: ... + @property + def growable(self) -> bool: ... + @property + def hotGrowable(self) -> bool: ... + @property + def uuid(self) -> bool: ... + + + class PartitionedRawDiskVer2BackingOption(VirtualDiskOption.RawDiskVer2BackingOption): ... + + + class RawDiskMappingVer1BackingOption(VirtualDeviceOption.DeviceBackingOption): + @property + def descriptorFileNameExtensions(self) -> vim.option.ChoiceOption: ... + @property + def compatibilityMode(self) -> vim.option.ChoiceOption: ... + @property + def diskMode(self) -> vim.option.ChoiceOption: ... + @property + def uuid(self) -> bool: ... + + + class RawDiskVer2BackingOption(VirtualDeviceOption.DeviceBackingOption): + @property + def descriptorFileNameExtensions(self) -> vim.option.ChoiceOption: ... + @property + def uuid(self) -> bool: ... + + + class SeSparseBackingOption(VirtualDeviceOption.FileBackingOption): + @property + def diskMode(self) -> vim.option.ChoiceOption: ... + @property + def writeThrough(self) -> vim.option.BoolOption: ... + @property + def growable(self) -> bool: ... + @property + def hotGrowable(self) -> bool: ... + @property + def uuid(self) -> bool: ... + @property + def deltaDiskFormatsSupported(self) -> List[VirtualDiskOption.DeltaDiskFormatsSupported]: ... + + + class SparseVer1BackingOption(VirtualDeviceOption.FileBackingOption): + @property + def diskModes(self) -> vim.option.ChoiceOption: ... + @property + def split(self) -> vim.option.BoolOption: ... + @property + def writeThrough(self) -> vim.option.BoolOption: ... + @property + def growable(self) -> bool: ... + + + class SparseVer2BackingOption(VirtualDeviceOption.FileBackingOption): + @property + def diskMode(self) -> vim.option.ChoiceOption: ... + @property + def split(self) -> vim.option.BoolOption: ... + @property + def writeThrough(self) -> vim.option.BoolOption: ... + @property + def growable(self) -> bool: ... + @property + def hotGrowable(self) -> bool: ... + @property + def uuid(self) -> bool: ... + + + class VFlashCacheConfigOption(vmodl.DynamicData): + @property + def cacheConsistencyType(self) -> vim.option.ChoiceOption: ... + @property + def cacheMode(self) -> vim.option.ChoiceOption: ... + @property + def reservationInMB(self) -> vim.option.LongOption: ... + @property + def blockSizeInKB(self) -> vim.option.LongOption: ... + + + class CompatibilityMode(Enum): + virtualMode = "virtualmode" + physicalMode = "physicalmode" + + + class DiskMode(Enum): + persistent = "persistent" + nonpersistent = "nonpersistent" + undoable = "undoable" + independent_persistent = "independent_persistent" + independent_nonpersistent = "independent_nonpersistent" + append = "append" + + +class VirtualDiskSpec(VirtualDeviceSpec): + @property + def diskMoveType(self) -> str: ... + @property + def migrateCache(self) -> bool: ... + + +class VirtualE1000(VirtualEthernetCard): ... + + +class VirtualE1000Option(VirtualEthernetCardOption): ... + + +class VirtualE1000e(VirtualEthernetCard): ... + + +class VirtualE1000eOption(VirtualEthernetCardOption): ... + + +class VirtualEnsoniq1371(VirtualSoundCard): ... + + +class VirtualEnsoniq1371Option(VirtualSoundCardOption): ... + + +class VirtualEthernetCard(VirtualDevice): + @property + def addressType(self) -> str: ... + @property + def macAddress(self) -> str: ... + @property + def wakeOnLanEnabled(self) -> bool: ... + @property + def resourceAllocation(self) -> VirtualEthernetCard.ResourceAllocation: ... + @property + def externalId(self) -> str: ... + @property + def uptCompatibilityEnabled(self) -> bool: ... + + + class DistributedVirtualPortBackingInfo(VirtualDevice.BackingInfo): + @property + def port(self) -> vim.dvs.PortConnection: ... + + + class LegacyNetworkBackingInfo(VirtualDevice.DeviceBackingInfo): ... + + + class NetworkBackingInfo(VirtualDevice.DeviceBackingInfo): + @property + def network(self) -> vim.Network: ... + @property + def inPassthroughMode(self) -> bool: ... + + + class OpaqueNetworkBackingInfo(VirtualDevice.BackingInfo): + @property + def opaqueNetworkId(self) -> str: ... + @property + def opaqueNetworkType(self) -> str: ... + + + class ResourceAllocation(vmodl.DynamicData): + @property + def reservation(self) -> long: ... + @property + def share(self) -> vim.SharesInfo: ... + @property + def limit(self) -> long: ... + + +class VirtualEthernetCardOption(VirtualDeviceOption): + @property + def supportedOUI(self) -> vim.option.ChoiceOption: ... + @property + def macType(self) -> vim.option.ChoiceOption: ... + @property + def wakeOnLanEnabled(self) -> vim.option.BoolOption: ... + @property + def vmDirectPathGen2Supported(self) -> bool: ... + @property + def uptCompatibilityEnabled(self) -> vim.option.BoolOption: ... + + + class DistributedVirtualPortBackingOption(VirtualDeviceOption.BackingOption): ... + + + class LegacyNetworkBackingOption(VirtualDeviceOption.DeviceBackingOption): + + + class LegacyNetworkDeviceName(Enum): + bridged = "bridged" + nat = "nat" + hostonly = "hostonly" + + + class NetworkBackingOption(VirtualDeviceOption.DeviceBackingOption): ... + + + class OpaqueNetworkBackingOption(VirtualDeviceOption.BackingOption): ... + + + class MacTypes(Enum): + manual = "manual" + generated = "generated" + assigned = "assigned" + + +class VirtualFloppy(VirtualDevice): + + + class ImageBackingInfo(VirtualDevice.FileBackingInfo): ... + + +class VirtualFloppyOption(VirtualDeviceOption): + + + class ImageBackingOption(VirtualDeviceOption.FileBackingOption): ... + + +class VirtualHdAudioCard(VirtualSoundCard): ... + + +class VirtualHdAudioCardOption(VirtualSoundCardOption): ... + + +class VirtualIDEController(VirtualController): ... + + +class VirtualIDEControllerOption(VirtualControllerOption): + @property + def numIDEDisks(self) -> vim.option.IntOption: ... + @property + def numIDECdroms(self) -> vim.option.IntOption: ... + + +class VirtualKeyboard(VirtualDevice): ... + + +class VirtualKeyboardOption(VirtualDeviceOption): ... + + +class VirtualLsiLogicController(VirtualSCSIController): ... + + +class VirtualLsiLogicControllerOption(VirtualSCSIControllerOption): ... + + +class VirtualLsiLogicSASController(VirtualSCSIController): ... + + +class VirtualLsiLogicSASControllerOption(VirtualSCSIControllerOption): ... + + +class VirtualNVDIMM(VirtualDevice): + @property + def capacityInMB(self) -> long: ... + @property + def configuredCapacityInMB(self) -> long: ... + + +class VirtualNVDIMMController(VirtualController): ... + + +class VirtualNVDIMMControllerOption(VirtualControllerOption): + @property + def numNVDIMMControllers(self) -> vim.option.IntOption: ... + + +class VirtualNVDIMMOption(VirtualDeviceOption): + @property + def capacityInMB(self) -> vim.option.LongOption: ... + @property + def growable(self) -> bool: ... + @property + def hotGrowable(self) -> bool: ... + @property + def granularityInMB(self) -> long: ... + + +class VirtualNVMEController(VirtualController): ... + + +class VirtualNVMEControllerOption(VirtualControllerOption): + @property + def numNVMEDisks(self) -> vim.option.IntOption: ... + + +class VirtualPCIController(VirtualController): ... + + +class VirtualPCIControllerOption(VirtualControllerOption): + @property + def numSCSIControllers(self) -> vim.option.IntOption: ... + @property + def numEthernetCards(self) -> vim.option.IntOption: ... + @property + def numVideoCards(self) -> vim.option.IntOption: ... + @property + def numSoundCards(self) -> vim.option.IntOption: ... + @property + def numVmiRoms(self) -> vim.option.IntOption: ... + @property + def numVmciDevices(self) -> vim.option.IntOption: ... + @property + def numPCIPassthroughDevices(self) -> vim.option.IntOption: ... + @property + def numSasSCSIControllers(self) -> vim.option.IntOption: ... + @property + def numVmxnet3EthernetCards(self) -> vim.option.IntOption: ... + @property + def numParaVirtualSCSIControllers(self) -> vim.option.IntOption: ... + @property + def numSATAControllers(self) -> vim.option.IntOption: ... + @property + def numNVMEControllers(self) -> vim.option.IntOption: ... + @property + def numVmxnet3VrdmaEthernetCards(self) -> vim.option.IntOption: ... + + +class VirtualPCIPassthrough(VirtualDevice): + + + class AllowedDevice(vmodl.DynamicData): + @property + def vendorId(self) -> int: ... + @property + def deviceId(self) -> int: ... + @property + def subVendorId(self) -> int: ... + @property + def subDeviceId(self) -> int: ... + @property + def revisionId(self) -> short: ... + + + class DvxBackingInfo(VirtualDevice.BackingInfo): + @property + def deviceClass(self) -> str: ... + @property + def configParams(self) -> List[vim.option.OptionValue]: ... + + + class DynamicBackingInfo(VirtualDevice.DeviceBackingInfo): + @property + def allowedDevice(self) -> List[VirtualPCIPassthrough.AllowedDevice]: ... + @property + def customLabel(self) -> str: ... + @property + def assignedId(self) -> str: ... + + + class PluginBackingInfo(VirtualDevice.BackingInfo): ... + + + class VmiopBackingInfo(VirtualPCIPassthrough.PluginBackingInfo): + @property + def vgpu(self) -> str: ... + @property + def vgpuMigrateDataSizeMB(self) -> int: ... + @property + def migrateSupported(self) -> bool: ... + @property + def enhancedMigrateCapability(self) -> bool: ... + + +class VirtualPCIPassthroughOption(VirtualDeviceOption): + + + class DvxBackingOption(VirtualDeviceOption.BackingOption): ... + + + class DynamicBackingOption(VirtualDeviceOption.DeviceBackingOption): ... + + + class PluginBackingOption(VirtualDeviceOption.BackingOption): ... + + + class VmiopBackingOption(VirtualPCIPassthroughOption.PluginBackingOption): + @property + def vgpu(self) -> vim.option.StringOption: ... + @property + def maxInstances(self) -> int: ... + + +class VirtualPCNet32(VirtualEthernetCard): ... + + +class VirtualPCNet32Option(VirtualEthernetCardOption): + @property + def supportsMorphing(self) -> bool: ... + + +class VirtualPS2Controller(VirtualController): ... + + +class VirtualPS2ControllerOption(VirtualControllerOption): + @property + def numKeyboards(self) -> vim.option.IntOption: ... + @property + def numPointingDevices(self) -> vim.option.IntOption: ... + + +class VirtualParallelPort(VirtualDevice): ... + + +class VirtualParallelPortOption(VirtualDeviceOption): ... + + +class VirtualPointingDevice(VirtualDevice): ... + + +class VirtualPointingDeviceOption(VirtualDeviceOption): ... + + +class VirtualPrecisionClock(VirtualDevice): + + + class SystemClockBackingInfo(VirtualDevice.BackingInfo): + @property + def protocol(self) -> str: ... + + +class VirtualPrecisionClockOption(VirtualDeviceOption): + + + class SystemClockBackingOption(VirtualDeviceOption.BackingOption): + @property + def protocol(self) -> vim.option.ChoiceOption: ... + + +class VirtualSATAController(VirtualController): ... + + +class VirtualSATAControllerOption(VirtualControllerOption): + @property + def numSATADisks(self) -> vim.option.IntOption: ... + @property + def numSATACdroms(self) -> vim.option.IntOption: ... + + +class VirtualSCSIController(VirtualController): + @property + def hotAddRemove(self) -> bool: ... + @property + def sharedBus(self) -> VirtualSCSIController.Sharing: ... + @property + def scsiCtlrUnitNumber(self) -> int: ... + + +class VirtualSCSIControllerOption(VirtualControllerOption): + @property + def numSCSIDisks(self) -> vim.option.IntOption: ... + @property + def numSCSICdroms(self) -> vim.option.IntOption: ... + @property + def numSCSIPassthrough(self) -> vim.option.IntOption: ... + @property + def sharing(self) -> List[VirtualSCSIController.Sharing]: ... + @property + def defaultSharedIndex(self) -> int: ... + @property + def hotAddRemove(self) -> vim.option.BoolOption: ... + @property + def scsiCtlrUnitNumber(self) -> int: ... + + +class VirtualSCSIPassthrough(VirtualDevice): ... + + +class VirtualSCSIPassthroughOption(VirtualDeviceOption): ... + + +class VirtualSIOController(VirtualController): ... + + +class VirtualSIOControllerOption(VirtualControllerOption): + @property + def numFloppyDrives(self) -> vim.option.IntOption: ... + @property + def numSerialPorts(self) -> vim.option.IntOption: ... + @property + def numParallelPorts(self) -> vim.option.IntOption: ... + + +class VirtualSerialPort(VirtualDevice): + @property + def yieldOnPoll(self) -> bool: ... + + + class ThinPrintBackingInfo(VirtualDevice.BackingInfo): ... + + +class VirtualSerialPortOption(VirtualDeviceOption): + @property + def yieldOnPoll(self) -> vim.option.BoolOption: ... + + + class ThinPrintBackingOption(VirtualDeviceOption.BackingOption): ... + + + class EndPoint(Enum): + client = "client" + server = "server" + + +class VirtualSoundBlaster16(VirtualSoundCard): ... + + +class VirtualSoundBlaster16Option(VirtualSoundCardOption): ... + + +class VirtualSoundCard(VirtualDevice): ... + + +class VirtualSoundCardOption(VirtualDeviceOption): ... + + +class VirtualSriovEthernetCard(VirtualEthernetCard): + @property + def allowGuestOSMtuChange(self) -> bool: ... + @property + def sriovBacking(self) -> VirtualSriovEthernetCard.SriovBackingInfo: ... + @property + def dvxBackingInfo(self) -> VirtualPCIPassthrough.DvxBackingInfo: ... + + + class SriovBackingInfo(VirtualDevice.BackingInfo): + @property + def physicalFunctionBacking(self) -> VirtualPCIPassthrough.DeviceBackingInfo: ... + @property + def virtualFunctionBacking(self) -> VirtualPCIPassthrough.DeviceBackingInfo: ... + @property + def virtualFunctionIndex(self) -> int: ... + + +class VirtualSriovEthernetCardOption(VirtualEthernetCardOption): + + + class SriovBackingOption(VirtualDeviceOption.BackingOption): ... + + +class VirtualTPM(VirtualDevice): + @property + def endorsementKeyCertificateSigningRequest(self) -> List[binary]: ... + @property + def endorsementKeyCertificate(self) -> List[binary]: ... + + +class VirtualTPMOption(VirtualDeviceOption): + @property + def supportedFirmware(self) -> List[str]: ... + + +class VirtualUSB(VirtualDevice): + @property + def connected(self) -> bool: ... + @property + def vendor(self) -> int: ... + @property + def product(self) -> int: ... + @property + def family(self) -> List[str]: ... + @property + def speed(self) -> List[str]: ... + + + class RemoteClientBackingInfo(VirtualDevice.RemoteDeviceBackingInfo): + @property + def hostname(self) -> str: ... + + + class RemoteHostBackingInfo(VirtualDevice.DeviceBackingInfo): + @property + def hostname(self) -> str: ... + + + class USBBackingInfo(VirtualDevice.DeviceBackingInfo): ... + + +class VirtualUSBController(VirtualController): + @property + def autoConnectDevices(self) -> bool: ... + @property + def ehciEnabled(self) -> bool: ... + + +class VirtualUSBControllerOption(VirtualControllerOption): + @property + def autoConnectDevices(self) -> vim.option.BoolOption: ... + @property + def ehciSupported(self) -> vim.option.BoolOption: ... + @property + def supportedSpeeds(self) -> List[str]: ... + + +class VirtualUSBOption(VirtualDeviceOption): + + + class RemoteClientBackingOption(VirtualDeviceOption.RemoteDeviceBackingOption): ... + + + class RemoteHostBackingOption(VirtualDeviceOption.DeviceBackingOption): ... + + + class USBBackingOption(VirtualDeviceOption.DeviceBackingOption): ... + + +class VirtualUSBXHCIController(VirtualController): + @property + def autoConnectDevices(self) -> bool: ... + + +class VirtualUSBXHCIControllerOption(VirtualControllerOption): + @property + def autoConnectDevices(self) -> vim.option.BoolOption: ... + @property + def supportedSpeeds(self) -> List[str]: ... + + +class VirtualVMCIDevice(VirtualDevice): + @property + def id(self) -> long: ... + @property + def allowUnrestrictedCommunication(self) -> bool: ... + @property + def filterEnable(self) -> bool: ... + @property + def filterInfo(self) -> VirtualVMCIDevice.FilterInfo: ... + + + class FilterInfo(vmodl.DynamicData): + @property + def filters(self) -> List[VirtualVMCIDevice.FilterSpec]: ... + + + class FilterSpec(vmodl.DynamicData): + @property + def rank(self) -> long: ... + @property + def action(self) -> str: ... + @property + def protocol(self) -> str: ... + @property + def direction(self) -> str: ... + @property + def lowerDstPortBoundary(self) -> long: ... + @property + def upperDstPortBoundary(self) -> long: ... + + + class Action(Enum): + allow = "allow" + deny = "deny" + + + class Protocol(Enum): + hypervisor = "hypervisor" + doorbell = "doorbell" + queuepair = "queuepair" + datagram = "datagram" + stream = "stream" + anyProtocol = "anyprotocol" + + +class VirtualVMCIDeviceOption(VirtualDeviceOption): + @property + def allowUnrestrictedCommunication(self) -> vim.option.BoolOption: ... + @property + def filterSpecOption(self) -> VirtualVMCIDeviceOption.FilterSpecOption: ... + @property + def filterSupported(self) -> vim.option.BoolOption: ... + + + class FilterSpecOption(vmodl.DynamicData): + @property + def action(self) -> vim.option.ChoiceOption: ... + @property + def protocol(self) -> vim.option.ChoiceOption: ... + @property + def direction(self) -> vim.option.ChoiceOption: ... + @property + def lowerDstPortBoundary(self) -> vim.option.LongOption: ... + @property + def upperDstPortBoundary(self) -> vim.option.LongOption: ... + + +class VirtualVMIROM(VirtualDevice): ... + + +class VirtualVMIROMOption(VirtualDeviceOption): ... + + +class VirtualVideoCard(VirtualDevice): + @property + def videoRamSizeInKB(self) -> long: ... + @property + def numDisplays(self) -> int: ... + @property + def useAutoDetect(self) -> bool: ... + @property + def enable3DSupport(self) -> bool: ... + @property + def use3dRenderer(self) -> str: ... + @property + def graphicsMemorySizeInKB(self) -> long: ... + + + class Use3dRenderer(Enum): + automatic = "automatic" + software = "software" + hardware = "hardware" + + +class VirtualVideoCardOption(VirtualDeviceOption): + @property + def videoRamSizeInKB(self) -> vim.option.LongOption: ... + @property + def numDisplays(self) -> vim.option.IntOption: ... + @property + def useAutoDetect(self) -> vim.option.BoolOption: ... + @property + def support3D(self) -> vim.option.BoolOption: ... + @property + def use3dRendererSupported(self) -> vim.option.BoolOption: ... + @property + def graphicsMemorySizeInKB(self) -> vim.option.LongOption: ... + @property + def graphicsMemorySizeSupported(self) -> vim.option.BoolOption: ... + + +class VirtualVmxnet(VirtualEthernetCard): ... + + +class VirtualVmxnet2(VirtualVmxnet): ... + + +class VirtualVmxnet2Option(VirtualVmxnetOption): ... + + +class VirtualVmxnet3(VirtualVmxnet): + @property + def uptv2Enabled(self) -> bool: ... + + +class VirtualVmxnet3Option(VirtualVmxnetOption): + @property + def uptv2Enabled(self) -> vim.option.BoolOption: ... + + +class VirtualVmxnet3Vrdma(VirtualVmxnet3): + @property + def deviceProtocol(self) -> str: ... + + +class VirtualVmxnet3VrdmaOption(VirtualVmxnet3Option): + @property + def deviceProtocol(self) -> vim.option.ChoiceOption: ... + + + class DeviceProtocols(Enum): + rocev1 = "rocev1" + rocev2 = "rocev2" + + +class VirtualVmxnetOption(VirtualEthernetCardOption): ... + + +class VirtualWDT(VirtualDevice): + @property + def runOnBoot(self) -> bool: ... + @property + def running(self) -> bool: ... + + +class VirtualWDTOption(VirtualDeviceOption): + @property + def runOnBoot(self) -> vim.option.BoolOption: ... \ No newline at end of file diff --git a/pyVmomi/vim/vm/guest/__init__.pyi b/pyVmomi/vim/vm/guest/__init__.pyi new file mode 100644 index 000000000..82e33bafb --- /dev/null +++ b/pyVmomi/vim/vm/guest/__init__.pyi @@ -0,0 +1,294 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, NoneType, binary, long + + +class AliasManager(ManagedObject): + def AddAlias(self, vm: vim.VirtualMachine, auth: GuestAuthentication, username: str, mapCert: bool, base64Cert: str, aliasInfo: AliasManager.GuestAuthAliasInfo) -> NoneType: ... + def RemoveAlias(self, vm: vim.VirtualMachine, auth: GuestAuthentication, username: str, base64Cert: str, subject: AliasManager.GuestAuthSubject) -> NoneType: ... + def RemoveAliasByCert(self, vm: vim.VirtualMachine, auth: GuestAuthentication, username: str, base64Cert: str) -> NoneType: ... + def ListAliases(self, vm: vim.VirtualMachine, auth: GuestAuthentication, username: str) -> List[AliasManager.GuestAliases]: ... + def ListMappedAliases(self, vm: vim.VirtualMachine, auth: GuestAuthentication) -> List[AliasManager.GuestMappedAliases]: ... + + + class GuestAliases(vmodl.DynamicData): + @property + def base64Cert(self) -> str: ... + @property + def aliases(self) -> List[AliasManager.GuestAuthAliasInfo]: ... + + + class GuestAuthAliasInfo(vmodl.DynamicData): + @property + def subject(self) -> AliasManager.GuestAuthSubject: ... + @property + def comment(self) -> str: ... + + + class GuestAuthAnySubject(AliasManager.GuestAuthSubject): ... + + + class GuestAuthNamedSubject(AliasManager.GuestAuthSubject): + @property + def name(self) -> str: ... + + + class GuestAuthSubject(vmodl.DynamicData): ... + + + class GuestMappedAliases(vmodl.DynamicData): + @property + def base64Cert(self) -> str: ... + @property + def username(self) -> str: ... + @property + def subjects(self) -> List[AliasManager.GuestAuthSubject]: ... + + +class AuthManager(ManagedObject): + def ValidateCredentials(self, vm: vim.VirtualMachine, auth: GuestAuthentication) -> NoneType: ... + def AcquireCredentials(self, vm: vim.VirtualMachine, requestedAuth: GuestAuthentication, sessionID: long) -> GuestAuthentication: ... + def ReleaseCredentials(self, vm: vim.VirtualMachine, auth: GuestAuthentication) -> NoneType: ... + + +class FileManager(ManagedObject): + def MakeDirectory(self, vm: vim.VirtualMachine, auth: GuestAuthentication, directoryPath: str, createParentDirectories: bool) -> NoneType: ... + def DeleteFile(self, vm: vim.VirtualMachine, auth: GuestAuthentication, filePath: str) -> NoneType: ... + def DeleteDirectory(self, vm: vim.VirtualMachine, auth: GuestAuthentication, directoryPath: str, recursive: bool) -> NoneType: ... + def MoveDirectory(self, vm: vim.VirtualMachine, auth: GuestAuthentication, srcDirectoryPath: str, dstDirectoryPath: str) -> NoneType: ... + def MoveFile(self, vm: vim.VirtualMachine, auth: GuestAuthentication, srcFilePath: str, dstFilePath: str, overwrite: bool) -> NoneType: ... + def CreateTemporaryFile(self, vm: vim.VirtualMachine, auth: GuestAuthentication, prefix: str, suffix: str, directoryPath: str) -> str: ... + def CreateTemporaryDirectory(self, vm: vim.VirtualMachine, auth: GuestAuthentication, prefix: str, suffix: str, directoryPath: str) -> str: ... + def ListFiles(self, vm: vim.VirtualMachine, auth: GuestAuthentication, filePath: str, index: int, maxResults: int, matchPattern: str) -> FileManager.ListFileInfo: ... + def ChangeFileAttributes(self, vm: vim.VirtualMachine, auth: GuestAuthentication, guestFilePath: str, fileAttributes: FileManager.FileAttributes) -> NoneType: ... + def InitiateFileTransferFromGuest(self, vm: vim.VirtualMachine, auth: GuestAuthentication, guestFilePath: str) -> FileManager.FileTransferInformation: ... + def InitiateFileTransferToGuest(self, vm: vim.VirtualMachine, auth: GuestAuthentication, guestFilePath: str, fileAttributes: FileManager.FileAttributes, fileSize: long, overwrite: bool) -> str: ... + + + class FileAttributes(vmodl.DynamicData): + @property + def modificationTime(self) -> datetime: ... + @property + def accessTime(self) -> datetime: ... + @property + def symlinkTarget(self) -> str: ... + + + class FileInfo(vmodl.DynamicData): + @property + def path(self) -> str: ... + @property + def type(self) -> str: ... + @property + def size(self) -> long: ... + @property + def attributes(self) -> FileManager.FileAttributes: ... + + + class FileType(Enum): + file = "file" + directory = "directory" + symlink = "symlink" + + + class FileTransferInformation(vmodl.DynamicData): + @property + def attributes(self) -> FileManager.FileAttributes: ... + @property + def size(self) -> long: ... + @property + def url(self) -> str: ... + + + class ListFileInfo(vmodl.DynamicData): + @property + def files(self) -> List[FileManager.FileInfo]: ... + @property + def remaining(self) -> int: ... + + + class PosixFileAttributes(FileManager.FileAttributes): + @property + def ownerId(self) -> int: ... + @property + def groupId(self) -> int: ... + @property + def permissions(self) -> long: ... + + + class WindowsFileAttributes(FileManager.FileAttributes): + @property + def hidden(self) -> bool: ... + @property + def readOnly(self) -> bool: ... + @property + def createTime(self) -> datetime: ... + + +class GuestOperationsManager(ManagedObject): + @property + def authManager(self) -> AuthManager: ... + @property + def fileManager(self) -> FileManager: ... + @property + def processManager(self) -> ProcessManager: ... + @property + def guestWindowsRegistryManager(self) -> WindowsRegistryManager: ... + @property + def aliasManager(self) -> AliasManager: ... + + +class ProcessManager(ManagedObject): + def StartProgram(self, vm: vim.VirtualMachine, auth: GuestAuthentication, spec: ProcessManager.ProgramSpec) -> long: ... + def ListProcesses(self, vm: vim.VirtualMachine, auth: GuestAuthentication, pids: List[long]) -> List[ProcessManager.ProcessInfo]: ... + def TerminateProcess(self, vm: vim.VirtualMachine, auth: GuestAuthentication, pid: long) -> NoneType: ... + def ReadEnvironmentVariable(self, vm: vim.VirtualMachine, auth: GuestAuthentication, names: List[str]) -> List[str]: ... + + + class ProcessInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def pid(self) -> long: ... + @property + def owner(self) -> str: ... + @property + def cmdLine(self) -> str: ... + @property + def startTime(self) -> datetime: ... + @property + def endTime(self) -> datetime: ... + @property + def exitCode(self) -> int: ... + + + class ProgramSpec(vmodl.DynamicData): + @property + def programPath(self) -> str: ... + @property + def arguments(self) -> str: ... + @property + def workingDirectory(self) -> str: ... + @property + def envVariables(self) -> List[str]: ... + + + class WindowsProgramSpec(ProcessManager.ProgramSpec): + @property + def startMinimized(self) -> bool: ... + + +class WindowsRegistryManager(ManagedObject): + def CreateRegistryKey(self, vm: vim.VirtualMachine, auth: GuestAuthentication, keyName: WindowsRegistryManager.RegistryKeyName, isVolatile: bool, classType: str) -> NoneType: ... + def ListRegistryKeys(self, vm: vim.VirtualMachine, auth: GuestAuthentication, keyName: WindowsRegistryManager.RegistryKeyName, recursive: bool, matchPattern: str) -> List[WindowsRegistryManager.RegistryKeyRecord]: ... + def DeleteRegistryKey(self, vm: vim.VirtualMachine, auth: GuestAuthentication, keyName: WindowsRegistryManager.RegistryKeyName, recursive: bool) -> NoneType: ... + def SetRegistryValue(self, vm: vim.VirtualMachine, auth: GuestAuthentication, value: WindowsRegistryManager.RegistryValue) -> NoneType: ... + def ListRegistryValues(self, vm: vim.VirtualMachine, auth: GuestAuthentication, keyName: WindowsRegistryManager.RegistryKeyName, expandStrings: bool, matchPattern: str) -> List[WindowsRegistryManager.RegistryValue]: ... + def DeleteRegistryValue(self, vm: vim.VirtualMachine, auth: GuestAuthentication, valueName: WindowsRegistryManager.RegistryValueName) -> NoneType: ... + + + class RegistryKey(vmodl.DynamicData): + @property + def keyName(self) -> WindowsRegistryManager.RegistryKeyName: ... + @property + def classType(self) -> str: ... + @property + def lastWritten(self) -> datetime: ... + + + class RegistryKeyName(vmodl.DynamicData): + @property + def registryPath(self) -> str: ... + @property + def wowBitness(self) -> str: ... + + + class RegistryKeyWowBitness(Enum): + WOWNative = "wownative" + WOW32 = "wow32" + WOW64 = "wow64" + + + class RegistryKeyRecord(vmodl.DynamicData): + @property + def key(self) -> WindowsRegistryManager.RegistryKey: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class RegistryValue(vmodl.DynamicData): + @property + def name(self) -> WindowsRegistryManager.RegistryValueName: ... + @property + def data(self) -> WindowsRegistryManager.RegistryValueData: ... + + + class RegistryValueBinary(WindowsRegistryManager.RegistryValueData): + @property + def value(self) -> binary: ... + + + class RegistryValueData(vmodl.DynamicData): ... + + + class RegistryValueDword(WindowsRegistryManager.RegistryValueData): + @property + def value(self) -> int: ... + + + class RegistryValueExpandString(WindowsRegistryManager.RegistryValueData): + @property + def value(self) -> str: ... + + + class RegistryValueMultiString(WindowsRegistryManager.RegistryValueData): + @property + def value(self) -> List[str]: ... + + + class RegistryValueName(vmodl.DynamicData): + @property + def keyName(self) -> WindowsRegistryManager.RegistryKeyName: ... + @property + def name(self) -> str: ... + + + class RegistryValueQword(WindowsRegistryManager.RegistryValueData): + @property + def value(self) -> long: ... + + + class RegistryValueString(WindowsRegistryManager.RegistryValueData): + @property + def value(self) -> str: ... + + +class GuestAuthentication(vmodl.DynamicData): + @property + def interactiveSession(self) -> bool: ... + + +class NamePasswordAuthentication(GuestAuthentication): + @property + def username(self) -> str: ... + @property + def password(self) -> str: ... + + +class SAMLTokenAuthentication(GuestAuthentication): + @property + def token(self) -> str: ... + @property + def username(self) -> str: ... + + +class SSPIAuthentication(GuestAuthentication): + @property + def sspiToken(self) -> str: ... + + +class TicketedSessionAuthentication(GuestAuthentication): + @property + def ticket(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/vm/replication/__init__.pyi b/pyVmomi/vim/vm/replication/__init__.pyi new file mode 100644 index 000000000..32f3405f1 --- /dev/null +++ b/pyVmomi/vim/vm/replication/__init__.pyi @@ -0,0 +1,23 @@ +from pyVmomi import vmodl + + +class DeviceGroupId(vmodl.DynamicData): + @property + def id(self) -> str: ... + + +class FaultDomainId(vmodl.DynamicData): + @property + def id(self) -> str: ... + + +class ReplicationGroupId(vmodl.DynamicData): + @property + def faultDomainId(self) -> FaultDomainId: ... + @property + def deviceGroupId(self) -> DeviceGroupId: ... + + +class ReplicationSpec(vmodl.DynamicData): + @property + def replicationGroupId(self) -> ReplicationGroupId: ... \ No newline at end of file diff --git a/pyVmomi/vim/vsan/__init__.pyi b/pyVmomi/vim/vsan/__init__.pyi new file mode 100644 index 000000000..e69de29bb diff --git a/pyVmomi/vim/vsan/cluster/__init__.pyi b/pyVmomi/vim/vsan/cluster/__init__.pyi new file mode 100644 index 000000000..7be06707e --- /dev/null +++ b/pyVmomi/vim/vsan/cluster/__init__.pyi @@ -0,0 +1,19 @@ +from pyVmomi import vmodl + + +class ConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def defaultConfig(self) -> ConfigInfo.HostDefaultInfo: ... + @property + def vsanEsaEnabled(self) -> bool: ... + + + class HostDefaultInfo(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def autoClaimStorage(self) -> bool: ... + @property + def checksumEnabled(self) -> bool: ... \ No newline at end of file diff --git a/pyVmomi/vim/vsan/host/__init__.pyi b/pyVmomi/vim/vsan/host/__init__.pyi new file mode 100644 index 000000000..975fb19af --- /dev/null +++ b/pyVmomi/vim/vsan/host/__init__.pyi @@ -0,0 +1,179 @@ +from typing import List +from enum import Enum +from pyVmomi import ScsiDisk, vim, vmodl +from datetime import datetime + + +class ClusterStatus(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def nodeUuid(self) -> str: ... + @property + def health(self) -> str: ... + @property + def nodeState(self) -> ClusterStatus.State: ... + @property + def memberUuid(self) -> List[str]: ... + + + class State(vmodl.DynamicData): + @property + def state(self) -> str: ... + @property + def completion(self) -> ClusterStatus.State.CompletionEstimate: ... + + + class CompletionEstimate(vmodl.DynamicData): + @property + def completeTime(self) -> datetime: ... + @property + def percentComplete(self) -> int: ... + + +class ConfigInfo(vmodl.DynamicData): + @property + def enabled(self) -> bool: ... + @property + def hostSystem(self) -> vim.HostSystem: ... + @property + def clusterInfo(self) -> ConfigInfo.ClusterInfo: ... + @property + def storageInfo(self) -> ConfigInfo.StorageInfo: ... + @property + def networkInfo(self) -> ConfigInfo.NetworkInfo: ... + @property + def faultDomainInfo(self) -> ConfigInfo.FaultDomainInfo: ... + @property + def vsanEsaEnabled(self) -> bool: ... + + + class ClusterInfo(vmodl.DynamicData): + @property + def uuid(self) -> str: ... + @property + def nodeUuid(self) -> str: ... + + + class FaultDomainInfo(vmodl.DynamicData): + @property + def name(self) -> str: ... + + + class NetworkInfo(vmodl.DynamicData): + @property + def port(self) -> List[ConfigInfo.NetworkInfo.PortConfig]: ... + + + class PortConfig(vmodl.DynamicData): + @property + def ipConfig(self) -> IpConfig: ... + @property + def device(self) -> str: ... + + + class StorageInfo(vmodl.DynamicData): + @property + def autoClaimStorage(self) -> bool: ... + @property + def diskMapping(self) -> List[DiskMapping]: ... + @property + def diskMapInfo(self) -> List[DiskMapInfo]: ... + @property + def checksumEnabled(self) -> bool: ... + + +class DecommissionMode(vmodl.DynamicData): + @property + def objectAction(self) -> str: ... + + + class ObjectAction(Enum): + noAction = "noaction" + ensureObjectAccessibility = "ensureobjectaccessibility" + evacuateAllData = "evacuatealldata" + + +class DiskMapInfo(vmodl.DynamicData): + @property + def mapping(self) -> DiskMapping: ... + @property + def mounted(self) -> bool: ... + + +class DiskMapResult(vmodl.DynamicData): + @property + def mapping(self) -> DiskMapping: ... + @property + def diskResult(self) -> List[DiskResult]: ... + @property + def error(self) -> vmodl.MethodFault: ... + + +class DiskMapping(vmodl.DynamicData): + @property + def ssd(self) -> ScsiDisk: ... + @property + def nonSsd(self) -> List[ScsiDisk]: ... + + +class DiskResult(vmodl.DynamicData): + @property + def disk(self) -> ScsiDisk: ... + @property + def state(self) -> str: ... + @property + def vsanUuid(self) -> str: ... + @property + def error(self) -> vmodl.MethodFault: ... + @property + def degraded(self) -> bool: ... + + + class State(Enum): + inUse = "inuse" + eligible = "eligible" + ineligible = "ineligible" + + +class IpConfig(vmodl.DynamicData): + @property + def upstreamIpAddress(self) -> str: ... + @property + def downstreamIpAddress(self) -> str: ... + + +class MembershipInfo(vmodl.DynamicData): + @property + def nodeUuid(self) -> str: ... + @property + def hostname(self) -> str: ... + + +class VsanDiskInfo(vmodl.DynamicData): + @property + def vsanUuid(self) -> str: ... + @property + def formatVersion(self) -> int: ... + + +class VsanRuntimeInfo(vmodl.DynamicData): + @property + def membershipList(self) -> List[MembershipInfo]: ... + @property + def diskIssues(self) -> List[VsanRuntimeInfo.DiskIssue]: ... + @property + def accessGenNo(self) -> int: ... + + + class DiskIssue(vmodl.DynamicData): + @property + def diskId(self) -> str: ... + @property + def issue(self) -> str: ... + + + class DiskIssueType(Enum): + nonExist = "nonexist" + stampMismatch = "stampmismatch" + unknown = "unknown" \ No newline at end of file diff --git a/pyVmomi/vim/vslm/__init__.pyi b/pyVmomi/vim/vslm/__init__.pyi new file mode 100644 index 000000000..b23c699ff --- /dev/null +++ b/pyVmomi/vim/vslm/__init__.pyi @@ -0,0 +1,218 @@ +from typing import List +from enum import Enum +from pyVmomi import vim, vmodl +from datetime import datetime +from pyVmomi.VmomiSupport import ManagedObject, long + + +class VStorageObjectManagerBase(ManagedObject): ... + + +class BaseConfigInfo(vmodl.DynamicData): + @property + def id(self) -> ID: ... + @property + def name(self) -> str: ... + @property + def createTime(self) -> datetime: ... + @property + def keepAfterDeleteVm(self) -> bool: ... + @property + def relocationDisabled(self) -> bool: ... + @property + def nativeSnapshotSupported(self) -> bool: ... + @property + def changedBlockTrackingEnabled(self) -> bool: ... + @property + def backing(self) -> BaseConfigInfo.BackingInfo: ... + @property + def metadata(self) -> List[vim.KeyValue]: ... + @property + def vclock(self) -> VClockInfo: ... + @property + def iofilter(self) -> List[str]: ... + + + class BackingInfo(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + + + class DiskFileBackingInfo(BaseConfigInfo.FileBackingInfo): + @property + def provisioningType(self) -> str: ... + + + class ProvisioningType(Enum): + thin = "thin" + eagerZeroedThick = "eagerzeroedthick" + lazyZeroedThick = "lazyzeroedthick" + + + class FileBackingInfo(BaseConfigInfo.BackingInfo): + @property + def filePath(self) -> str: ... + @property + def backingObjectId(self) -> str: ... + @property + def parent(self) -> BaseConfigInfo.FileBackingInfo: ... + @property + def deltaSizeInMB(self) -> long: ... + @property + def keyId(self) -> vim.encryption.CryptoKeyId: ... + + + class RawDiskMappingBackingInfo(BaseConfigInfo.FileBackingInfo): + @property + def lunUuid(self) -> str: ... + @property + def compatibilityMode(self) -> str: ... + + +class CloneSpec(MigrateSpec): + @property + def name(self) -> str: ... + @property + def keepAfterDeleteVm(self) -> bool: ... + @property + def metadata(self) -> List[vim.KeyValue]: ... + + +class CreateSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def keepAfterDeleteVm(self) -> bool: ... + @property + def backingSpec(self) -> CreateSpec.BackingSpec: ... + @property + def capacityInMB(self) -> long: ... + @property + def profile(self) -> List[vim.vm.ProfileSpec]: ... + @property + def crypto(self) -> vim.encryption.CryptoSpec: ... + @property + def metadata(self) -> List[vim.KeyValue]: ... + + + class BackingSpec(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + @property + def path(self) -> str: ... + + + class DiskFileBackingSpec(CreateSpec.BackingSpec): + @property + def provisioningType(self) -> str: ... + + + class RawDiskMappingBackingSpec(CreateSpec.BackingSpec): + @property + def lunUuid(self) -> str: ... + @property + def compatibilityMode(self) -> str: ... + + +class DiskCryptoSpec(vmodl.DynamicData): + @property + def parent(self) -> DiskCryptoSpec: ... + @property + def crypto(self) -> vim.encryption.CryptoSpec: ... + + +class ID(vmodl.DynamicData): + @property + def id(self) -> str: ... + + +class InfrastructureObjectPolicy(vmodl.DynamicData): + @property + def name(self) -> str: ... + @property + def backingObjectId(self) -> str: ... + @property + def profileId(self) -> str: ... + @property + def error(self) -> vmodl.MethodFault: ... + + +class InfrastructureObjectPolicySpec(vmodl.DynamicData): + @property + def datastore(self) -> vim.Datastore: ... + @property + def profile(self) -> List[vim.vm.ProfileSpec]: ... + + +class MigrateSpec(vmodl.DynamicData): + @property + def backingSpec(self) -> CreateSpec.BackingSpec: ... + @property + def profile(self) -> List[vim.vm.ProfileSpec]: ... + @property + def consolidate(self) -> bool: ... + @property + def disksCrypto(self) -> DiskCryptoSpec: ... + + +class RelocateSpec(MigrateSpec): ... + + +class StateInfo(vmodl.DynamicData): + @property + def tentative(self) -> bool: ... + + +class TagEntry(vmodl.DynamicData): + @property + def tagName(self) -> str: ... + @property + def parentCategoryName(self) -> str: ... + + +class VClockInfo(vmodl.DynamicData): + @property + def vClockTime(self) -> long: ... + + +class VStorageObject(vmodl.DynamicData): + @property + def config(self) -> VStorageObject.ConfigInfo: ... + + + class ConfigInfo(BaseConfigInfo): + @property + def descriptorVersion(self) -> int: ... + @property + def capacityInMB(self) -> long: ... + @property + def consumptionType(self) -> List[str]: ... + @property + def consumerId(self) -> List[ID]: ... + + + class ConsumptionType(Enum): + disk = "disk" + + +class VStorageObjectSnapshotDetails(vmodl.DynamicData): + @property + def path(self) -> str: ... + @property + def changedBlockTrackingId(self) -> str: ... + + +class VStorageObjectSnapshotInfo(vmodl.DynamicData): + @property + def snapshots(self) -> List[VStorageObjectSnapshotInfo.VStorageObjectSnapshot]: ... + + + class VStorageObjectSnapshot(vmodl.DynamicData): + @property + def id(self) -> ID: ... + @property + def backingObjectId(self) -> str: ... + @property + def createTime(self) -> datetime: ... + @property + def description(self) -> str: ... \ No newline at end of file diff --git a/pyVmomi/vim/vslm/host/__init__.pyi b/pyVmomi/vim/vslm/host/__init__.pyi new file mode 100644 index 000000000..0e437c58b --- /dev/null +++ b/pyVmomi/vim/vslm/host/__init__.pyi @@ -0,0 +1,32 @@ +from typing import List +from pyVmomi import vim +from pyVmomi.VmomiSupport import NoneType, long + + +class VStorageObjectManager(vim.vslm.VStorageObjectManagerBase): + def CreateDisk(self, spec: vim.vslm.CreateSpec) -> vim.Task: ... + def RegisterDisk(self, path: str, name: str) -> vim.vslm.VStorageObject: ... + def ExtendDisk(self, id: vim.vslm.ID, datastore: vim.Datastore, newCapacityInMB: long) -> vim.Task: ... + def InflateDisk(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.Task: ... + def RenameVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, name: str) -> NoneType: ... + def RetrieveVStorageInfrastructureObjectPolicy(self, datastore: vim.Datastore) -> List[vim.vslm.InfrastructureObjectPolicy]: ... + def DeleteVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.Task: ... + def RetrieveVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, diskInfoFlags: List[str]) -> vim.vslm.VStorageObject: ... + def RetrieveVStorageObjectState(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.vslm.StateInfo: ... + def ListVStorageObject(self, datastore: vim.Datastore) -> List[vim.vslm.ID]: ... + def CloneVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, spec: vim.vslm.CloneSpec) -> vim.Task: ... + def RelocateVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, spec: vim.vslm.RelocateSpec) -> vim.Task: ... + def SetVStorageObjectControlFlags(self, id: vim.vslm.ID, datastore: vim.Datastore, controlFlags: List[str]) -> NoneType: ... + def ClearVStorageObjectControlFlags(self, id: vim.vslm.ID, datastore: vim.Datastore, controlFlags: List[str]) -> NoneType: ... + def ReconcileDatastoreInventory(self, datastore: vim.Datastore) -> vim.Task: ... + def ScheduleReconcileDatastoreInventory(self, datastore: vim.Datastore) -> NoneType: ... + def CreateSnapshot(self, id: vim.vslm.ID, datastore: vim.Datastore, description: str) -> vim.Task: ... + def DeleteSnapshot(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID) -> vim.Task: ... + def RetrieveSnapshotInfo(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.vslm.VStorageObjectSnapshotInfo: ... + def CreateDiskFromSnapshot(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID, name: str, profile: List[vim.vm.ProfileSpec], crypto: vim.encryption.CryptoSpec, path: str, provisioningType: str) -> vim.Task: ... + def RevertVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID) -> vim.Task: ... + def UpdateVStorageObjectMetadata(self, id: vim.vslm.ID, datastore: vim.Datastore, metadata: List[vim.KeyValue], deleteKeys: List[str]) -> vim.Task: ... + def RetrieveVStorageObjectMetadata(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID, prefix: str) -> List[vim.KeyValue]: ... + def RetrieveVStorageObjectMetadataValue(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID, key: str) -> str: ... + def DeleteVStorageObjectEx(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.Task: ... + def UpdateVStorageObjectMetadataEx(self, id: vim.vslm.ID, datastore: vim.Datastore, metadata: List[vim.KeyValue], deleteKeys: List[str]) -> vim.Task: ... \ No newline at end of file diff --git a/pyVmomi/vim/vslm/vcenter/__init__.pyi b/pyVmomi/vim/vslm/vcenter/__init__.pyi new file mode 100644 index 000000000..8e04bf38f --- /dev/null +++ b/pyVmomi/vim/vslm/vcenter/__init__.pyi @@ -0,0 +1,62 @@ +from typing import List +from pyVmomi import vim, vmodl +from pyVmomi.VmomiSupport import NoneType, long + + +class VStorageObjectManager(vim.vslm.VStorageObjectManagerBase): + def CreateDisk(self, spec: vim.vslm.CreateSpec) -> vim.Task: ... + def RegisterDisk(self, path: str, name: str) -> vim.vslm.VStorageObject: ... + def ExtendDisk(self, id: vim.vslm.ID, datastore: vim.Datastore, newCapacityInMB: long) -> vim.Task: ... + def InflateDisk(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.Task: ... + def RenameVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, name: str) -> NoneType: ... + def UpdateVStorageObjectPolicy(self, id: vim.vslm.ID, datastore: vim.Datastore, profile: List[vim.vm.ProfileSpec]) -> vim.Task: ... + def UpdateVStorageObjectCrypto(self, id: vim.vslm.ID, datastore: vim.Datastore, profile: List[vim.vm.ProfileSpec], disksCrypto: vim.vslm.DiskCryptoSpec) -> vim.Task: ... + def UpdateVStorageInfrastructureObjectPolicy(self, spec: vim.vslm.InfrastructureObjectPolicySpec) -> vim.Task: ... + def RetrieveVStorageInfrastructureObjectPolicy(self, datastore: vim.Datastore) -> List[vim.vslm.InfrastructureObjectPolicy]: ... + def DeleteVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.Task: ... + def RetrieveVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, diskInfoFlags: List[str]) -> vim.vslm.VStorageObject: ... + def RetrieveVStorageObjectState(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.vslm.StateInfo: ... + def RetrieveVStorageObjectAssociations(self, ids: List[RetrieveVStorageObjSpec]) -> List[VStorageObjectAssociations]: ... + def ListVStorageObject(self, datastore: vim.Datastore) -> List[vim.vslm.ID]: ... + def CloneVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, spec: vim.vslm.CloneSpec) -> vim.Task: ... + def RelocateVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, spec: vim.vslm.RelocateSpec) -> vim.Task: ... + def SetVStorageObjectControlFlags(self, id: vim.vslm.ID, datastore: vim.Datastore, controlFlags: List[str]) -> NoneType: ... + def ClearVStorageObjectControlFlags(self, id: vim.vslm.ID, datastore: vim.Datastore, controlFlags: List[str]) -> NoneType: ... + def AttachTagToVStorageObject(self, id: vim.vslm.ID, category: str, tag: str) -> NoneType: ... + def DetachTagFromVStorageObject(self, id: vim.vslm.ID, category: str, tag: str) -> NoneType: ... + def ListVStorageObjectsAttachedToTag(self, category: str, tag: str) -> List[vim.vslm.ID]: ... + def ListTagsAttachedToVStorageObject(self, id: vim.vslm.ID) -> List[vim.vslm.TagEntry]: ... + def ReconcileDatastoreInventory(self, datastore: vim.Datastore) -> vim.Task: ... + def ScheduleReconcileDatastoreInventory(self, datastore: vim.Datastore) -> NoneType: ... + def CreateSnapshot(self, id: vim.vslm.ID, datastore: vim.Datastore, description: str) -> vim.Task: ... + def DeleteSnapshot(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID) -> vim.Task: ... + def RetrieveSnapshotInfo(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.vslm.VStorageObjectSnapshotInfo: ... + def CreateDiskFromSnapshot(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID, name: str, profile: List[vim.vm.ProfileSpec], crypto: vim.encryption.CryptoSpec, path: str) -> vim.Task: ... + def RevertVStorageObject(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID) -> vim.Task: ... + def RetrieveSnapshotDetails(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID) -> vim.vslm.VStorageObjectSnapshotDetails: ... + def QueryChangedDiskAreas(self, id: vim.vslm.ID, datastore: vim.Datastore, snapshotId: vim.vslm.ID, startOffset: long, changeId: str) -> vim.VirtualMachine.DiskChangeInfo: ... + def DeleteVStorageObjectEx(self, id: vim.vslm.ID, datastore: vim.Datastore) -> vim.Task: ... + def UpdateVStorageObjectMetadataEx(self, id: vim.vslm.ID, datastore: vim.Datastore, metadata: List[vim.KeyValue], deleteKeys: List[str]) -> vim.Task: ... + + +class RetrieveVStorageObjSpec(vmodl.DynamicData): + @property + def id(self) -> vim.vslm.ID: ... + @property + def datastore(self) -> vim.Datastore: ... + + +class VStorageObjectAssociations(vmodl.DynamicData): + @property + def id(self) -> vim.vslm.ID: ... + @property + def vmDiskAssociations(self) -> List[VStorageObjectAssociations.VmDiskAssociations]: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class VmDiskAssociations(vmodl.DynamicData): + @property + def vmId(self) -> str: ... + @property + def diskKey(self) -> int: ... \ No newline at end of file diff --git a/pyVmomi/vmodl/__init__.pyi b/pyVmomi/vmodl/__init__.pyi new file mode 100644 index 000000000..ef8f90505 --- /dev/null +++ b/pyVmomi/vmodl/__init__.pyi @@ -0,0 +1,59 @@ +from typing import List +from pyVmomi import vmodl +from pyVmomi.VmomiSupport import DataObject, PropertyPath + + +class DynamicArray(DataObject): + @property + def dynamicType(self) -> str: ... + @property + def val(self) -> List[object]: ... + + +class DynamicData(DataObject): + @property + def dynamicType(self) -> str: ... + @property + def dynamicProperty(self) -> List[DynamicProperty]: ... + + +class DynamicProperty(DataObject): + @property + def name(self) -> PropertyPath: ... + @property + def val(self) -> object: ... + + +class KeyAnyValue(DynamicData): + @property + def key(self) -> str: ... + @property + def value(self) -> object: ... + + +class LocalizableMessage(DynamicData): + @property + def key(self) -> str: ... + @property + def arg(self) -> List[KeyAnyValue]: ... + @property + def message(self) -> str: ... + + +class LocalizedMethodFault(MethodFault): + @property + def fault(self) -> MethodFault: ... + @property + def localizedMessage(self) -> str: ... + + +class MethodFault(DynamicData): + @property + def msg(self) -> str: ... + @property + def faultCause(self) -> MethodFault: ... + @property + def faultMessage(self) -> List[LocalizableMessage]: ... + + +class RuntimeFault(MethodFault): ... \ No newline at end of file diff --git a/pyVmomi/vmodl/fault/__init__.pyi b/pyVmomi/vmodl/fault/__init__.pyi new file mode 100644 index 000000000..b660d1b23 --- /dev/null +++ b/pyVmomi/vmodl/fault/__init__.pyi @@ -0,0 +1,63 @@ +from pyVmomi import vmodl +from pyVmomi.VmomiSupport import ManagedObject, PropertyPath + + +class HostCommunication(vmodl.RuntimeFault): ... + + +class HostNotConnected(HostCommunication): ... + + +class HostNotReachable(HostCommunication): ... + + +class InvalidArgument(vmodl.RuntimeFault): + @property + def invalidProperty(self) -> PropertyPath: ... + + +class InvalidRequest(vmodl.RuntimeFault): ... + + +class InvalidType(InvalidRequest): + @property + def argument(self) -> PropertyPath: ... + + +class ManagedObjectNotFound(vmodl.RuntimeFault): + @property + def obj(self) -> ManagedObject: ... + + +class MethodNotFound(InvalidRequest): + @property + def receiver(self) -> ManagedObject: ... + @property + def method(self) -> str: ... + + +class NotEnoughLicenses(vmodl.RuntimeFault): ... + + +class NotImplemented(vmodl.RuntimeFault): ... + + +class NotSupported(vmodl.RuntimeFault): ... + + +class RequestCanceled(vmodl.RuntimeFault): ... + + +class SecurityError(vmodl.RuntimeFault): ... + + +class SystemError(vmodl.RuntimeFault): + @property + def reason(self) -> str: ... + + +class UnexpectedFault(vmodl.RuntimeFault): + @property + def faultName(self) -> type: ... + @property + def fault(self) -> vmodl.MethodFault: ... \ No newline at end of file diff --git a/pyVmomi/vmodl/query/__init__.pyi b/pyVmomi/vmodl/query/__init__.pyi new file mode 100644 index 000000000..038ebfeeb --- /dev/null +++ b/pyVmomi/vmodl/query/__init__.pyi @@ -0,0 +1,172 @@ +from typing import List +from enum import Enum +from pyVmomi import vmodl +from pyVmomi.VmomiSupport import ManagedObject, NoneType, PropertyPath + + +class PropertyCollector(ManagedObject): + @property + def filter(self) -> List[PropertyCollector.Filter]: ... + def CreateFilter(self, spec: PropertyCollector.FilterSpec, partialUpdates: bool) -> PropertyCollector.Filter: ... + def RetrieveContents(self, specSet: List[PropertyCollector.FilterSpec]) -> List[PropertyCollector.ObjectContent]: ... + def CheckForUpdates(self, version: str) -> PropertyCollector.UpdateSet: ... + def WaitForUpdates(self, version: str) -> PropertyCollector.UpdateSet: ... + def CancelWaitForUpdates(self) -> NoneType: ... + def WaitForUpdatesEx(self, version: str, options: PropertyCollector.WaitOptions) -> PropertyCollector.UpdateSet: ... + def RetrievePropertiesEx(self, specSet: List[PropertyCollector.FilterSpec], options: PropertyCollector.RetrieveOptions) -> PropertyCollector.RetrieveResult: ... + def ContinueRetrievePropertiesEx(self, token: str) -> PropertyCollector.RetrieveResult: ... + def CancelRetrievePropertiesEx(self, token: str) -> NoneType: ... + def CreatePropertyCollector(self) -> PropertyCollector: ... + def Destroy(self) -> NoneType: ... + + + class Filter(ManagedObject): + @property + def spec(self) -> PropertyCollector.FilterSpec: ... + @property + def partialUpdates(self) -> bool: ... + def Destroy(self) -> NoneType: ... + + + class Change(vmodl.DynamicData): + @property + def name(self) -> PropertyPath: ... + @property + def op(self) -> PropertyCollector.Change.Op: ... + @property + def val(self) -> object: ... + + + class Op(Enum): + add = "add" + remove = "remove" + assign = "assign" + indirectRemove = "indirectremove" + + + class FilterSpec(vmodl.DynamicData): + @property + def propSet(self) -> List[PropertyCollector.PropertySpec]: ... + @property + def objectSet(self) -> List[PropertyCollector.ObjectSpec]: ... + @property + def reportMissingObjectsInResults(self) -> bool: ... + + + class FilterUpdate(vmodl.DynamicData): + @property + def filter(self) -> PropertyCollector.Filter: ... + @property + def objectSet(self) -> List[PropertyCollector.ObjectUpdate]: ... + @property + def missingSet(self) -> List[PropertyCollector.MissingObject]: ... + + + class MissingObject(vmodl.DynamicData): + @property + def obj(self) -> ManagedObject: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class MissingProperty(vmodl.DynamicData): + @property + def path(self) -> PropertyPath: ... + @property + def fault(self) -> vmodl.MethodFault: ... + + + class ObjectContent(vmodl.DynamicData): + @property + def obj(self) -> ManagedObject: ... + @property + def propSet(self) -> List[vmodl.DynamicProperty]: ... + @property + def missingSet(self) -> List[PropertyCollector.MissingProperty]: ... + + + class ObjectSpec(vmodl.DynamicData): + @property + def obj(self) -> ManagedObject: ... + @property + def skip(self) -> bool: ... + @property + def selectSet(self) -> List[PropertyCollector.SelectionSpec]: ... + + + class ObjectUpdate(vmodl.DynamicData): + @property + def kind(self) -> PropertyCollector.ObjectUpdate.Kind: ... + @property + def obj(self) -> ManagedObject: ... + @property + def changeSet(self) -> List[PropertyCollector.Change]: ... + @property + def missingSet(self) -> List[PropertyCollector.MissingProperty]: ... + + + class Kind(Enum): + modify = "modify" + enter = "enter" + leave = "leave" + + + class PropertySpec(vmodl.DynamicData): + @property + def type(self) -> type: ... + @property + def all(self) -> bool: ... + @property + def pathSet(self) -> List[PropertyPath]: ... + + + class RetrieveOptions(vmodl.DynamicData): + @property + def maxObjects(self) -> int: ... + + + class RetrieveResult(vmodl.DynamicData): + @property + def token(self) -> str: ... + @property + def objects(self) -> List[PropertyCollector.ObjectContent]: ... + + + class SelectionSpec(vmodl.DynamicData): + @property + def name(self) -> str: ... + + + class TraversalSpec(PropertyCollector.SelectionSpec): + @property + def type(self) -> type: ... + @property + def path(self) -> PropertyPath: ... + @property + def skip(self) -> bool: ... + @property + def selectSet(self) -> List[PropertyCollector.SelectionSpec]: ... + + + class UpdateSet(vmodl.DynamicData): + @property + def version(self) -> str: ... + @property + def filterSet(self) -> List[PropertyCollector.FilterUpdate]: ... + @property + def truncated(self) -> bool: ... + + + class WaitOptions(vmodl.DynamicData): + @property + def maxWaitSeconds(self) -> int: ... + @property + def maxObjectUpdates(self) -> int: ... + + +class InvalidCollectorVersion(vmodl.MethodFault): ... + + +class InvalidProperty(vmodl.MethodFault): + @property + def name(self) -> PropertyPath: ... \ No newline at end of file diff --git a/setup.py b/setup.py index e167c7e19..587217f1f 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ def read(fname): setup( name='pyvmomi', - version='8.0.0.1.2', + version='8.0.1.0', description='VMware vSphere Python SDK', # NOTE: pypi prefers the use of RST to render docs long_description=read('README.rst'), @@ -38,6 +38,7 @@ def read(fname): author='VMware, Inc.', author_email='jhu@vmware.com', packages=['pyVmomi', 'pyVim'], + package_data={"pyVmomi": ["py.typed", "*.pyi", "**/*.pyi"]}, install_requires=required, license='License :: OSI Approved :: Apache Software License', classifiers=[