require 'json'
RbVmomi::VIM.loader.add_types(
JSON.load('{"VimClusterVsanKmsEntry": {"type-id": "vim.cluster.VsanKmsEntry", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "ip", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "port", "is-array": false, "wsdl_type": "xsd:int", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "alias", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "proxy", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "user", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "password", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}]}, "VimVsanDataEfficiencyCapacityState": {"type-id": "vim.vsan.DataEfficiencyCapacityState", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "logicalCapacity", "is-array": false, "wsdl_type": "xsd:long", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "logicalCapacityUsed", "is-array": false, "wsdl_type": "xsd:long", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "physicalCapacity", "is-array": false, "wsdl_type": "xsd:long", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "physicalCapacityUsed", "is-array": false, "wsdl_type": "xsd:long", "is-optional": true}]}, "VimVsanHostVsanDiskManagementSystemCapability": {"type-id": "vim.vsan.host.VsanDiskManagementSystemCapability", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "version", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}]}, "VsanHostWithHybridDiskgroupIssue": {"type-id": "vim.vsan.upgradesystem.HostWithHybridDiskgroupIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": [{"version-id-ref": "vim.version.version10", "name": "hosts", "is-array": true, "wsdl_type": "HostSystem", "is-optional": false}]}, "VsanHostPropertyRetrieveIssue": {"type-id": "vim.vsan.upgradesystem.HostPropertyRetrieveIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": [{"version-id-ref": "vim.version.version10", "name": "hosts", "is-array": true, "wsdl_type": "HostSystem", "is-optional": false}]}, "VsanClusterPersistedState": {"type-id": "vim.cluster.VsanClusterPersistedState", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version9", "name": "generationId", "is-array": false, "wsdl_type": "xsd:long", "is-optional": false}, {"version-id-ref": "vim.version.version9", "name": "vcCluster", "is-array": false, "wsdl_type": "ClusterComputeResource", "is-optional": true}, {"version-id-ref": "vim.version.version9", "name": "vsanEnabled", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version9", "name": "vsanClusterUuid", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version9", "name": "hosts", "is-array": true, "wsdl_type": "HostSystem", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "metroConfig", "is-array": false, "wsdl_type": "VsanClusterMetroConfig", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "dataEfficiencyConfig", "is-array": false, "wsdl_type": "VsanDataEfficiencyConfig", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "encryptionConfig", "is-array": false, "wsdl_type": "VimClusterVsanClusterEncryptionConfig", "is-optional": true}]}, "VsanClusterMetroConfig": {"type-id": "vim.cluster.VsanClusterMetroConfig", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "enabled", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "witnessNode", "is-array": false, "wsdl_type": "HostSystem", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "witnessNodeUuid", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "witnessNodeIPAddresses", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "preferredFdName", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "preferredFdUuid", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "manualFailover", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}]}, "VsanHigherObjectsPresentDuringDowngradeIssue": {"type-id": "vim.vsan.upgradesystem.HigherObjectsPresentDuringDowngradeIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": [{"version-id-ref": "vim.version.version10", "name": "uuids", "is-array": true, "wsdl_type": "xsd:string", "is-optional": false}]}, "VimHostVsanDiskManagementSystem": {"kind": "managed", "methods": {"UpgradeFormatVersionForDiskMapping": {"params": [{"version-id-ref": "vim.version.version10", "name": "cacheTierCanonicalName", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}], "result": {"version-id-ref": null, "name": null, "is-array": false, "wsdl_type": null, "is-optional": false, "type-id-ref": null}}, "RealignNameSpace": {"params": [{"version-id-ref": "vim.version.version10", "name": "uuid", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": true, "wsdl_type": "VimHostVSANRealignResult", "is-optional": true, "type-id-ref": "vim.host.VSANRealignResult"}}, "RealignVsanSparseOnline": {"params": [{"version-id-ref": "vim.version.version10", "name": "uuidChain", "is-array": true, "wsdl_type": "xsd:string", "is-optional": false}], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": true, "wsdl_type": "VimHostVSANRealignResult", "is-optional": true, "type-id-ref": "vim.host.VSANRealignResult"}}, "QueryHostDiskMappings": {"params": [], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": true, "wsdl_type": "VimVsanHostDiskMapInfoEx", "is-optional": true, "type-id-ref": "vim.vsan.host.DiskMapInfoEx"}}, "RetrieveVsanDiskManagementSystemCapability": {"params": [], "result": {"version-id-ref": "vim.version.version10", "name": "result", "is-array": false, "wsdl_type": "VimVsanHostVsanDiskManagementSystemCapability", "is-optional": false, "type-id-ref": "vim.vsan.host.VsanDiskManagementSystemCapability"}}, "QueryDataEfficiencyCapacityState": {"params": [], "result": {"version-id-ref": "vim.version.version10", "name": "result", "is-array": false, "wsdl_type": "VimVsanDataEfficiencyCapacityState", "is-optional": false, "type-id-ref": "vim.vsan.DataEfficiencyCapacityState"}}, "UpdateCapacityFlashStatusForDisks": {"params": [{"version-id-ref": "vim.version.version10", "name": "canonicalNames", "is-array": true, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "enabled", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false, "type-id-ref": "boolean"}}}, "wsdl_base": "ManagedObject", "type-id": "vim.host.VsanDiskManagementSystem", "base-type-id": "vmodl.ManagedObject", "props": []}, "VimVsanHostVsanHostCapability": {"type-id": "vim.vsan.host.VsanHostCapability", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "host", "is-array": false, "wsdl_type": "HostSystem", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "isSupported", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "isLicensed", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}]}, "VimVsanHostDiskMapInfoEx": {"type-id": "vim.vsan.host.DiskMapInfoEx", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "mapping", "is-array": false, "wsdl_type": "VsanHostDiskMapping", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "isMounted", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "isAllFlash", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "isDataEfficiency", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}]}, "VsanDataEfficiencyConfig": {"type-id": "vim.vsan.DataEfficiencyConfig", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "dedupEnabled", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "compressionEnabled", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}]}, "VsanObjectInaccessibleIssue": {"type-id": "vim.vsan.upgradesystem.ObjectInaccessibleIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": [{"version-id-ref": "vim.version.version10", "name": "uuids", "is-array": true, "wsdl_type": "xsd:string", "is-optional": false}]}, "VimClusterVsanClusterEncryptionConfig": {"type-id": "vim.cluster.VsanClusterEncryptionConfig", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "enabled", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "kms", "is-array": true, "wsdl_type": "VimClusterVsanKmsEntry", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "dataKey", "is-array": false, "wsdl_type": "VimClusterVsanEncryptionKey", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "dumpKey", "is-array": false, "wsdl_type": "VimClusterVsanEncryptionKey", "is-optional": true}]}, "VimVsanHostDiskMappingCreationSpec": {"type-id": "vim.vsan.host.DiskMappingCreationSpec", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "host", "is-array": false, "wsdl_type": "HostSystem", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "cacheDisks", "is-array": true, "wsdl_type": "HostScsiDisk", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "capacityDisks", "is-array": true, "wsdl_type": "HostScsiDisk", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "creationType", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}]}, "VsanUpgradeSystemEx": {"kind": "managed", "methods": {"RetrieveSupportedVsanFormatVersion": {"params": [{"version-id-ref": "vim.version.version10", "name": "cluster", "is-array": false, "wsdl_type": "ClusterComputeResource", "is-optional": false}], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": false, "wsdl_type": "xsd:int", "is-optional": false, "type-id-ref": "int"}}, "PerformVsanUpgradeEx": {"params": [{"version-id-ref": "vim.version.version10", "name": "cluster", "is-array": false, "wsdl_type": "ClusterComputeResource", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "performObjectUpgrade", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "downgradeFormat", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "allowReducedRedundancy", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "excludeHosts", "is-array": true, "wsdl_type": "HostSystem", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "spec", "is-array": false, "wsdl_type": "VsanDiskFormatConversionSpec", "is-optional": true}], "result": {"version-id-ref": "vim.version.version1", "name": "result", "is-array": false, "wsdl_type": "Task", "is-optional": false, "type-id-ref": "vim.Task"}}, "PerformVsanUpgradePreflightCheckEx": {"params": [{"version-id-ref": "vim.version.version10", "name": "cluster", "is-array": false, "wsdl_type": "ClusterComputeResource", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "downgradeFormat", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "spec", "is-array": false, "wsdl_type": "VsanDiskFormatConversionSpec", "is-optional": true}], "result": {"version-id-ref": "vim.version.version10", "name": "result", "is-array": false, "wsdl_type": "VsanDiskFormatConversionCheckResult", "is-optional": false, "type-id-ref": "vim.cluster.VsanDiskFormatConversionCheckResult"}}}, "wsdl_base": "ManagedObject", "type-id": "vim.VsanUpgradeSystemEx", "base-type-id": "vmodl.ManagedObject", "props": []}, "VsanClusterConfig": {"type-id": "vim.cluster.VsanClusterConfig", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version9", "name": "config", "is-array": false, "wsdl_type": "VsanClusterConfigInfo", "is-optional": false}, {"version-id-ref": "vim.version.version9", "name": "name", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version9", "name": "hosts", "is-array": true, "wsdl_type": "xsd:string", "is-optional": true}]}, "VimClusterVsanEncryptionKey": {"type-id": "vim.cluster.VsanEncryptionKey", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "uid", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "key", "is-array": false, "wsdl_type": "xsd:string", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "expireTime", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}]}, "VsanMixedEsxVersionIssue": {"type-id": "vim.vsan.upgradesystem.MixedEsxVersionIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": []}, "VsanDiskFormatConversionCheckResult": {"type-id": "vim.cluster.VsanDiskFormatConversionCheckResult", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckResult", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckResult", "props": [{"version-id-ref": "vim.version.version10", "name": "isSupported", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": false}, {"version-id-ref": "vim.version.version10", "name": "targetVersion", "is-array": false, "wsdl_type": "xsd:int", "is-optional": true}]}, "VimHostVSANRealignResult": {"type-id": "vim.host.VSANRealignResult", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "uuid", "is-array": false, "wsdl_type": "xsd:string", "is-optional": true}, {"version-id-ref": "vim.version.version10", "name": "result", "is-array": false, "wsdl_type": "xsd:boolean", "is-optional": true}]}, "VsanObjectPolicyIssue": {"type-id": "vim.vsan.upgradesystem.ObjectPolicyIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": [{"version-id-ref": "vim.version.version10", "name": "uuids", "is-array": true, "wsdl_type": "xsd:string", "is-optional": false}]}, "VsanDiskUnhealthIssue": {"type-id": "vim.vsan.upgradesystem.DiskUnhealthIssue", "kind": "data", "wsdl_base": "VsanUpgradeSystemPreflightCheckIssue", "base-type-id": "vim.VsanUpgradeSystem.PreflightCheckIssue", "props": [{"version-id-ref": "vim.version.version10", "name": "uuids", "is-array": true, "wsdl_type": "xsd:string", "is-optional": false}]}, "VimClusterVsanVcDiskManagementSystem": {"kind": "managed", "methods": {"RetrieveAllFlashCapability": {"params": [{"version-id-ref": "vim.version.version10", "name": "host", "is-array": false, "wsdl_type": "HostSystem", "is-optional": false}], "result": {"version-id-ref": "vim.version.version10", "name": "result", "is-array": false, "wsdl_type": "VimVsanHostVsanHostCapability", "is-optional": false, "type-id-ref": "vim.vsan.host.VsanHostCapability"}}, "InitializeDiskMappings": {"params": [{"version-id-ref": "vim.version.version10", "name": "spec", "is-array": false, "wsdl_type": "VimVsanHostDiskMappingCreationSpec", "is-optional": false}], "result": {"version-id-ref": "vim.version.version1", "name": "result", "is-array": false, "wsdl_type": "Task", "is-optional": false, "type-id-ref": "vim.Task"}}, "RetrieveAllFlashCapabilities": {"params": [{"version-id-ref": "vim.version.version10", "name": "cluster", "is-array": false, "wsdl_type": "ClusterComputeResource", "is-optional": false}], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": true, "wsdl_type": "VimVsanHostVsanHostCapability", "is-optional": true, "type-id-ref": "vim.vsan.host.VsanHostCapability"}}, "QueryDiskMappings": {"params": [{"version-id-ref": "vim.version.version10", "name": "host", "is-array": false, "wsdl_type": "HostSystem", "is-optional": false}], "result": {"version-id-ref": "vmodl.version.version0", "name": "result", "is-array": true, "wsdl_type": "VimVsanHostDiskMapInfoEx", "is-optional": true, "type-id-ref": "vim.vsan.host.DiskMapInfoEx"}}, "QueryClusterDataEfficiencyCapacityState": {"params": [{"version-id-ref": "vim.version.version10", "name": "cluster", "is-array": false, "wsdl_type": "ClusterComputeResource", "is-optional": false}], "result": {"version-id-ref": "vim.version.version10", "name": "result", "is-array": false, "wsdl_type": "VimVsanDataEfficiencyCapacityState", "is-optional": false, "type-id-ref": "vim.vsan.DataEfficiencyCapacityState"}}}, "wsdl_base": "ManagedObject", "type-id": "vim.cluster.VsanVcDiskManagementSystem", "base-type-id": "vmodl.ManagedObject", "props": []}, "VsanDiskFormatConversionSpec": {"type-id": "vim.cluster.VsanDiskFormatConversionSpec", "kind": "data", "wsdl_base": "DynamicData", "base-type-id": "vmodl.DynamicData", "props": [{"version-id-ref": "vim.version.version10", "name": "dataEfficiencyConfig", "is-array": false, "wsdl_type": "VsanDataEfficiencyConfig", "is-optional": true}]}}')
)
