Storage Resource Manager Recommend Datastores
This method returns a StoragePlacementResult object. This API is intended to replace the following existing APIs for SDRS-enabled pods: CreateVm: StoragePlacementSpec::type == create = CreateVM_Task AddDisk: StoragePlacementSpec::type == reconfigure = ReconfigVM_Task RelocateVm: StoragePlacementSpec::type == relocate = RelocateVM_Task CloneVm: StoragePlacementSpec::type == clone = CloneVM_Task The PodSelectionSpec parameter in StoragePlacementSpec is required for all workflows. It specifies which SDRS-enabled pod the user has selected for the VM and/or for each disk. For CreateVm, RelocateVm and CloneVm, PodSelectionSpec.storagePod is the user selected SDRS pod for the VM, i.e., its system files. For all workflows, PodSelectionSpec.disk.storagePod is the user selected SDRS pod for the given disk. Note that a DiskLocator must be specified for each disk that the user requests to create, migrate or clone into an SDRS pod, even if it's the same pod as the VM or the user has manually selected a datastore within the pod. If the user has manually selected a datastore, the datastore must be specified in the workflow specific fields as described below. For CreateVm, AddDisk, the manually selected datastore must be specified in ConfigSpec.files or ConfigSpec.deviceChange.device.backing.datastore, the fields should will be unset if the user wants SDRS to recommend the datastore. For RelocateVm, the manually selected datastore must be specified in RelocateSpec.datastore or RelocateSpec.disk.datastore; the fields should be unset iff the user wants SDRS recommendations. For CloneVm, the manually selected datastore must be specified in CloneSpec.location.datastore or CloneSpec.location.disk[].datastore; the fields should be unset iff the user wants SDRS recommendations. The remaining expected input parameters in StoragePlacementSpec will be the same as those for the existing API as determined by StoragePlacementSpec::type. If a parameter is optional in the existing API, it will also be optional in the new API.
- For CreateVm, the Folder, ConfigSpec, ResourcePool and HostSystem parameters will be expected in StoragePlacementSpec. The disks to be created can be determined by ConfigSpec -> VirtualDeviceSpec[] (deviceChange) -> VirtualDevice (device) -> VirtualDisk (subclass).
- For AddDisk, the VirtualMachine and ConfigSpec parameters will be expected. The use of the ConfigSpec for determining the disks to add will be the same as that in CreateVm.
- For ExpandDisk, the VirtualMachine and ConfigSpec parameters will be expected. The use of the ConfigSpec for determining the disks to be expanded will be the same as the disks IDs of existing VM disks.
- For RelocateVm, the VirtualMachine, RelocateSpec and MovePriority parameters will be expected.
- For CloneVm, the VirtualMachine, CloneSpec, Folder and cloneName parameters will be expected.
SDRS takes into account constraints such as space usages, (anti-) affinity rules, datastore maintenance mode, etc. when making placement recommendations. Given that the constraints are satisfied, SDRS tries to balance space usages and I/O loads in the placement.
Required privileges: System.View
The unique identifier for the managed object to which the method attaches; the serialized managed object reference for a request has the form moType/moId
, in this case StorageResourceManager/{moId}
.
The vSphere release schema. The current specification covers vSphere 8.0.2.0 APIs.
{
"storageSpec": {
"_typeName": "string",
"type": "string",
"priority": "string",
"vm": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"podSelectionSpec": {
"_typeName": "string",
"initialVmConfig": [
{
"_typeName": "string",
"storagePod": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"disk": [
{
"_typeName": "string",
"diskId": 0,
"diskMoveType": "string",
"diskBackingInfo": {
"_typeName": "string"
},
"profile": [
{
"_typeName": "string"
}
]
}
],
"vmConfig": {
"_typeName": "string",
"vm": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"enabled": false,
"behavior": "string",
"intraVmAffinity": false,
"intraVmAntiAffinity": {
"_typeName": "string",
"key": 0,
"status": "string",
"enabled": false,
"name": "string",
"mandatory": false,
"userCreated": false,
"inCompliance": false,
"ruleUuid": "string",
"diskId": [
0
]
},
"virtualDiskRules": [
{
"_typeName": "string",
"key": 0,
"status": "string",
"enabled": false,
"name": "string",
"mandatory": false,
"userCreated": false,
"inCompliance": false,
"ruleUuid": "string",
"diskRuleType": "string",
"diskId": [
0
]
}
]
},
"interVmRule": [
{
"_typeName": "string",
"key": 0,
"status": "string",
"enabled": false,
"name": "string",
"mandatory": false,
"userCreated": false,
"inCompliance": false,
"ruleUuid": "string"
}
]
}
],
"storagePod": {
"_typeName": "string",
"type": "string",
"value": "string"
}
},
"cloneSpec": {
"_typeName": "string",
"location": {
"_typeName": "string",
"service": {
"_typeName": "string",
"instanceUuid": "string",
"url": "string",
"credential": {
"_typeName": "string"
},
"sslThumbprint": "string"
},
"folder": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"datastore": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"diskMoveType": "string",
"pool": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"host": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"disk": [
{
"_typeName": "string",
"diskId": 0,
"datastore": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"diskMoveType": "string",
"diskBackingInfo": {
"_typeName": "string"
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualMachineRelocateSpecDiskLocatorBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
]
}
],
"transform": "string",
"deviceChange": [
{
"_typeName": "string",
"operation": "string",
"fileOperation": "string",
"device": {
"_typeName": "string",
"key": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
},
"backing": {
"_typeName": "string"
},
"connectable": {
"_typeName": "string",
"migrateConnect": "string",
"startConnected": false,
"allowGuestControl": false,
"connected": false,
"status": "string"
},
"slotInfo": {
"_typeName": "string"
},
"controllerKey": 0,
"unitNumber": 0,
"numaNode": 0,
"deviceGroupInfo": {
"_typeName": "string",
"groupInstanceKey": 0,
"sequenceId": 0
}
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualDeviceConfigSpecBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
],
"changeMode": "string"
}
],
"profile": [
{
"_typeName": "string"
}
],
"cryptoSpec": {
"_typeName": "string"
}
},
"template": false,
"config": {
"_typeName": "string",
"changeVersion": "string",
"name": "string",
"version": "string",
"createDate": "string",
"uuid": "string",
"instanceUuid": "string",
"npivNodeWorldWideName": [
0
],
"npivPortWorldWideName": [
0
],
"npivWorldWideNameType": "string",
"npivDesiredNodeWwns": 0,
"npivDesiredPortWwns": 0,
"npivTemporaryDisabled": false,
"npivOnNonRdmDisks": false,
"npivWorldWideNameOp": "string",
"locationId": "string",
"guestId": "string",
"alternateGuestName": "string",
"annotation": "string",
"files": {
"_typeName": "string",
"vmPathName": "string",
"snapshotDirectory": "string",
"suspendDirectory": "string",
"logDirectory": "string",
"ftMetadataDirectory": "string"
},
"tools": {
"_typeName": "string",
"toolsVersion": 0,
"toolsInstallType": "string",
"afterPowerOn": false,
"afterResume": false,
"beforeGuestStandby": false,
"beforeGuestShutdown": false,
"beforeGuestReboot": false,
"toolsUpgradePolicy": "string",
"pendingCustomization": "string",
"customizationKeyId": {
"_typeName": "string",
"keyId": "string",
"providerId": {
"_typeName": "string",
"id": "string"
}
},
"syncTimeWithHostAllowed": false,
"syncTimeWithHost": false,
"lastInstallInfo": {
"_typeName": "string",
"counter": 0,
"fault": {
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
}
},
"flags": {
"_typeName": "string",
"disableAcceleration": false,
"enableLogging": false,
"useToe": false,
"runWithDebugInfo": false,
"monitorType": "string",
"htSharing": "string",
"snapshotDisabled": false,
"snapshotLocked": false,
"diskUuidEnabled": false,
"virtualMmuUsage": "string",
"virtualExecUsage": "string",
"snapshotPowerOffBehavior": "string",
"recordReplayEnabled": false,
"faultToleranceType": "string",
"cbrcCacheEnabled": false,
"vvtdEnabled": false,
"vbsEnabled": false
},
"consolePreferences": {
"_typeName": "string",
"powerOnWhenOpened": false,
"enterFullScreenOnPowerOn": false,
"closeOnPowerOffOrSuspend": false
},
"powerOpInfo": {
"_typeName": "string",
"powerOffType": "string",
"suspendType": "string",
"resetType": "string",
"defaultPowerOffType": "string",
"defaultSuspendType": "string",
"defaultResetType": "string",
"standbyAction": "string"
},
"rebootPowerOff": false,
"numCPUs": 0,
"vcpuConfig": [
{
"_typeName": "string",
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
}
}
],
"numCoresPerSocket": 0,
"memoryMB": 0,
"memoryHotAddEnabled": false,
"cpuHotAddEnabled": false,
"cpuHotRemoveEnabled": false,
"virtualICH7MPresent": false,
"virtualSMCPresent": false,
"deviceChange": [
{
"_typeName": "string",
"operation": "string",
"fileOperation": "string",
"device": {
"_typeName": "string",
"key": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
},
"backing": {
"_typeName": "string"
},
"connectable": {
"_typeName": "string",
"migrateConnect": "string",
"startConnected": false,
"allowGuestControl": false,
"connected": false,
"status": "string"
},
"slotInfo": {
"_typeName": "string"
},
"controllerKey": 0,
"unitNumber": 0,
"numaNode": 0,
"deviceGroupInfo": {
"_typeName": "string",
"groupInstanceKey": 0,
"sequenceId": 0
}
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualDeviceConfigSpecBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
],
"changeMode": "string"
}
],
"cpuAllocation": {
"_typeName": "string",
"reservation": 0,
"expandableReservation": false,
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"overheadLimit": 0
},
"memoryAllocation": {
"_typeName": "string",
"reservation": 0,
"expandableReservation": false,
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"overheadLimit": 0
},
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
},
"cpuAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"memoryAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"networkShaper": {
"_typeName": "string",
"enabled": false,
"peakBps": 0,
"averageBps": 0,
"burstSize": 0
},
"cpuFeatureMask": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"level": 0,
"vendor": "string",
"eax": "string",
"ebx": "string",
"ecx": "string",
"edx": "string"
}
}
],
"extraConfig": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"swapPlacement": "string",
"bootOptions": {
"_typeName": "string",
"bootDelay": 0,
"enterBIOSSetup": false,
"efiSecureBootEnabled": false,
"bootRetryEnabled": false,
"bootRetryDelay": 0,
"bootOrder": [
{
"_typeName": "string"
}
],
"networkBootProtocol": "string"
},
"vAppConfig": {
"_typeName": "string",
"product": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"classId": "string",
"instanceId": "string",
"name": "string",
"vendor": "string",
"version": "string",
"fullVersion": "string",
"vendorUrl": "string",
"productUrl": "string",
"appUrl": "string"
}
}
],
"property": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"classId": "string",
"instanceId": "string",
"id": "string",
"category": "string",
"label": "string",
"type": "string",
"typeReference": "string",
"userConfigurable": false,
"defaultValue": "string",
"value": "string",
"description": "string"
}
}
],
"ipAssignment": {
"_typeName": "string",
"supportedAllocationScheme": [
"string"
],
"ipAllocationPolicy": "string",
"supportedIpProtocol": [
"string"
],
"ipProtocol": "string"
},
"eula": [
"string"
],
"ovfSection": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"namespace": "string",
"type": "string",
"atEnvelopeLevel": false,
"contents": "string"
}
}
],
"ovfEnvironmentTransport": [
"string"
],
"installBootRequired": false,
"installBootStopDelay": 0
},
"ftInfo": {
"_typeName": "string",
"role": 0,
"instanceUuids": [
"string"
],
"configPaths": [
"string"
],
"orphaned": false
},
"repConfig": {
"_typeName": "string",
"generation": 0,
"vmReplicationId": "string",
"destination": "string",
"port": 0,
"rpo": 0,
"quiesceGuestEnabled": false,
"paused": false,
"oppUpdatesEnabled": false,
"netCompressionEnabled": false,
"netEncryptionEnabled": false,
"encryptionDestination": "string",
"encryptionPort": 0,
"remoteCertificateThumbprint": "string",
"dataSetsReplicationEnabled": false,
"disk": [
{
"_typeName": "string",
"key": 0,
"diskReplicationId": "string"
}
]
},
"vAppConfigRemoved": false,
"vAssertsEnabled": false,
"changeTrackingEnabled": false,
"firmware": "string",
"maxMksConnections": 0,
"guestAutoLockEnabled": false,
"managedBy": {
"_typeName": "string",
"extensionKey": "string",
"type": "string"
},
"memoryReservationLockedToMax": false,
"nestedHVEnabled": false,
"vPMCEnabled": false,
"scheduledHardwareUpgradeInfo": {
"_typeName": "string",
"upgradePolicy": "string",
"versionKey": "string",
"scheduledHardwareUpgradeStatus": "string",
"fault": {
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
},
"vmProfile": [
{
"_typeName": "string"
}
],
"messageBusTunnelEnabled": false,
"crypto": {
"_typeName": "string"
},
"migrateEncryption": "string",
"sgxInfo": {
"_typeName": "string",
"epcSize": 0,
"flcMode": "string",
"lePubKeyHash": "string",
"requireAttestation": false
},
"ftEncryptionMode": "string",
"guestMonitoringModeInfo": {
"_typeName": "string",
"gmmFile": "string",
"gmmAppliance": "string"
},
"sevEnabled": false,
"virtualNuma": {
"_typeName": "string",
"coresPerNumaNode": 0,
"exposeVnumaOnCpuHotadd": false
},
"motherboardLayout": "string",
"pmemFailoverEnabled": false,
"vmxStatsCollectionEnabled": false,
"vmOpNotificationToAppEnabled": false,
"vmOpNotificationTimeout": 0,
"deviceSwap": {
"_typeName": "string",
"lsiToPvscsi": {
"_typeName": "string",
"enabled": false,
"applicable": false,
"status": "string"
}
},
"simultaneousThreads": 0,
"pmem": {
"_typeName": "string",
"snapshotMode": "string"
},
"deviceGroups": {
"_typeName": "string",
"deviceGroup": [
{
"_typeName": "string",
"groupInstanceKey": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
}
}
]
},
"fixedPassthruHotPlugEnabled": false
},
"customization": {
"_typeName": "string",
"options": {
"_typeName": "string"
},
"identity": {
"_typeName": "string"
},
"globalIPSettings": {
"_typeName": "string",
"dnsSuffixList": [
"string"
],
"dnsServerList": [
"string"
]
},
"nicSettingMap": [
{
"_typeName": "string",
"macAddress": "string",
"adapter": {
"_typeName": "string",
"ip": {
"_typeName": "string"
},
"subnetMask": "string",
"gateway": [
"string"
],
"ipV6Spec": {
"_typeName": "string",
"ip": [
{
"_typeName": "string"
}
],
"gateway": [
"string"
]
},
"dnsServerList": [
"string"
],
"dnsDomain": "string",
"primaryWINS": "string",
"secondaryWINS": "string",
"netBIOS": "string"
}
}
],
"encryptionKey": [
0
]
},
"powerOn": false,
"snapshot": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"memory": false,
"tpmProvisionPolicy": "string"
},
"cloneName": "string",
"configSpec": {
"_typeName": "string",
"changeVersion": "string",
"name": "string",
"version": "string",
"createDate": "string",
"uuid": "string",
"instanceUuid": "string",
"npivNodeWorldWideName": [
0
],
"npivPortWorldWideName": [
0
],
"npivWorldWideNameType": "string",
"npivDesiredNodeWwns": 0,
"npivDesiredPortWwns": 0,
"npivTemporaryDisabled": false,
"npivOnNonRdmDisks": false,
"npivWorldWideNameOp": "string",
"locationId": "string",
"guestId": "string",
"alternateGuestName": "string",
"annotation": "string",
"files": {
"_typeName": "string",
"vmPathName": "string",
"snapshotDirectory": "string",
"suspendDirectory": "string",
"logDirectory": "string",
"ftMetadataDirectory": "string"
},
"tools": {
"_typeName": "string",
"toolsVersion": 0,
"toolsInstallType": "string",
"afterPowerOn": false,
"afterResume": false,
"beforeGuestStandby": false,
"beforeGuestShutdown": false,
"beforeGuestReboot": false,
"toolsUpgradePolicy": "string",
"pendingCustomization": "string",
"customizationKeyId": {
"_typeName": "string",
"keyId": "string",
"providerId": {
"_typeName": "string",
"id": "string"
}
},
"syncTimeWithHostAllowed": false,
"syncTimeWithHost": false,
"lastInstallInfo": {
"_typeName": "string",
"counter": 0,
"fault": {
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
}
},
"flags": {
"_typeName": "string",
"disableAcceleration": false,
"enableLogging": false,
"useToe": false,
"runWithDebugInfo": false,
"monitorType": "string",
"htSharing": "string",
"snapshotDisabled": false,
"snapshotLocked": false,
"diskUuidEnabled": false,
"virtualMmuUsage": "string",
"virtualExecUsage": "string",
"snapshotPowerOffBehavior": "string",
"recordReplayEnabled": false,
"faultToleranceType": "string",
"cbrcCacheEnabled": false,
"vvtdEnabled": false,
"vbsEnabled": false
},
"consolePreferences": {
"_typeName": "string",
"powerOnWhenOpened": false,
"enterFullScreenOnPowerOn": false,
"closeOnPowerOffOrSuspend": false
},
"powerOpInfo": {
"_typeName": "string",
"powerOffType": "string",
"suspendType": "string",
"resetType": "string",
"defaultPowerOffType": "string",
"defaultSuspendType": "string",
"defaultResetType": "string",
"standbyAction": "string"
},
"rebootPowerOff": false,
"numCPUs": 0,
"vcpuConfig": [
{
"_typeName": "string",
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
}
}
],
"numCoresPerSocket": 0,
"memoryMB": 0,
"memoryHotAddEnabled": false,
"cpuHotAddEnabled": false,
"cpuHotRemoveEnabled": false,
"virtualICH7MPresent": false,
"virtualSMCPresent": false,
"deviceChange": [
{
"_typeName": "string",
"operation": "string",
"fileOperation": "string",
"device": {
"_typeName": "string",
"key": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
},
"backing": {
"_typeName": "string"
},
"connectable": {
"_typeName": "string",
"migrateConnect": "string",
"startConnected": false,
"allowGuestControl": false,
"connected": false,
"status": "string"
},
"slotInfo": {
"_typeName": "string"
},
"controllerKey": 0,
"unitNumber": 0,
"numaNode": 0,
"deviceGroupInfo": {
"_typeName": "string",
"groupInstanceKey": 0,
"sequenceId": 0
}
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualDeviceConfigSpecBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
],
"changeMode": "string"
}
],
"cpuAllocation": {
"_typeName": "string",
"reservation": 0,
"expandableReservation": false,
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"overheadLimit": 0
},
"memoryAllocation": {
"_typeName": "string",
"reservation": 0,
"expandableReservation": false,
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"overheadLimit": 0
},
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
},
"cpuAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"memoryAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"networkShaper": {
"_typeName": "string",
"enabled": false,
"peakBps": 0,
"averageBps": 0,
"burstSize": 0
},
"cpuFeatureMask": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"level": 0,
"vendor": "string",
"eax": "string",
"ebx": "string",
"ecx": "string",
"edx": "string"
}
}
],
"extraConfig": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"swapPlacement": "string",
"bootOptions": {
"_typeName": "string",
"bootDelay": 0,
"enterBIOSSetup": false,
"efiSecureBootEnabled": false,
"bootRetryEnabled": false,
"bootRetryDelay": 0,
"bootOrder": [
{
"_typeName": "string"
}
],
"networkBootProtocol": "string"
},
"vAppConfig": {
"_typeName": "string",
"product": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"classId": "string",
"instanceId": "string",
"name": "string",
"vendor": "string",
"version": "string",
"fullVersion": "string",
"vendorUrl": "string",
"productUrl": "string",
"appUrl": "string"
}
}
],
"property": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"classId": "string",
"instanceId": "string",
"id": "string",
"category": "string",
"label": "string",
"type": "string",
"typeReference": "string",
"userConfigurable": false,
"defaultValue": "string",
"value": "string",
"description": "string"
}
}
],
"ipAssignment": {
"_typeName": "string",
"supportedAllocationScheme": [
"string"
],
"ipAllocationPolicy": "string",
"supportedIpProtocol": [
"string"
],
"ipProtocol": "string"
},
"eula": [
"string"
],
"ovfSection": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"namespace": "string",
"type": "string",
"atEnvelopeLevel": false,
"contents": "string"
}
}
],
"ovfEnvironmentTransport": [
"string"
],
"installBootRequired": false,
"installBootStopDelay": 0
},
"ftInfo": {
"_typeName": "string",
"role": 0,
"instanceUuids": [
"string"
],
"configPaths": [
"string"
],
"orphaned": false
},
"repConfig": {
"_typeName": "string",
"generation": 0,
"vmReplicationId": "string",
"destination": "string",
"port": 0,
"rpo": 0,
"quiesceGuestEnabled": false,
"paused": false,
"oppUpdatesEnabled": false,
"netCompressionEnabled": false,
"netEncryptionEnabled": false,
"encryptionDestination": "string",
"encryptionPort": 0,
"remoteCertificateThumbprint": "string",
"dataSetsReplicationEnabled": false,
"disk": [
{
"_typeName": "string",
"key": 0,
"diskReplicationId": "string"
}
]
},
"vAppConfigRemoved": false,
"vAssertsEnabled": false,
"changeTrackingEnabled": false,
"firmware": "string",
"maxMksConnections": 0,
"guestAutoLockEnabled": false,
"managedBy": {
"_typeName": "string",
"extensionKey": "string",
"type": "string"
},
"memoryReservationLockedToMax": false,
"nestedHVEnabled": false,
"vPMCEnabled": false,
"scheduledHardwareUpgradeInfo": {
"_typeName": "string",
"upgradePolicy": "string",
"versionKey": "string",
"scheduledHardwareUpgradeStatus": "string",
"fault": {
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
},
"vmProfile": [
{
"_typeName": "string"
}
],
"messageBusTunnelEnabled": false,
"crypto": {
"_typeName": "string"
},
"migrateEncryption": "string",
"sgxInfo": {
"_typeName": "string",
"epcSize": 0,
"flcMode": "string",
"lePubKeyHash": "string",
"requireAttestation": false
},
"ftEncryptionMode": "string",
"guestMonitoringModeInfo": {
"_typeName": "string",
"gmmFile": "string",
"gmmAppliance": "string"
},
"sevEnabled": false,
"virtualNuma": {
"_typeName": "string",
"coresPerNumaNode": 0,
"exposeVnumaOnCpuHotadd": false
},
"motherboardLayout": "string",
"pmemFailoverEnabled": false,
"vmxStatsCollectionEnabled": false,
"vmOpNotificationToAppEnabled": false,
"vmOpNotificationTimeout": 0,
"deviceSwap": {
"_typeName": "string",
"lsiToPvscsi": {
"_typeName": "string",
"enabled": false,
"applicable": false,
"status": "string"
}
},
"simultaneousThreads": 0,
"pmem": {
"_typeName": "string",
"snapshotMode": "string"
},
"deviceGroups": {
"_typeName": "string",
"deviceGroup": [
{
"_typeName": "string",
"groupInstanceKey": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
}
}
]
},
"fixedPassthruHotPlugEnabled": false
},
"relocateSpec": {
"_typeName": "string",
"service": {
"_typeName": "string",
"instanceUuid": "string",
"url": "string",
"credential": {
"_typeName": "string"
},
"sslThumbprint": "string"
},
"folder": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"datastore": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"diskMoveType": "string",
"pool": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"host": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"disk": [
{
"_typeName": "string",
"diskId": 0,
"datastore": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"diskMoveType": "string",
"diskBackingInfo": {
"_typeName": "string"
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualMachineRelocateSpecDiskLocatorBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
]
}
],
"transform": "string",
"deviceChange": [
{
"_typeName": "string",
"operation": "string",
"fileOperation": "string",
"device": {
"_typeName": "string",
"key": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
},
"backing": {
"_typeName": "string"
},
"connectable": {
"_typeName": "string",
"migrateConnect": "string",
"startConnected": false,
"allowGuestControl": false,
"connected": false,
"status": "string"
},
"slotInfo": {
"_typeName": "string"
},
"controllerKey": 0,
"unitNumber": 0,
"numaNode": 0,
"deviceGroupInfo": {
"_typeName": "string",
"groupInstanceKey": 0,
"sequenceId": 0
}
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualDeviceConfigSpecBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
],
"changeMode": "string"
}
],
"profile": [
{
"_typeName": "string"
}
],
"cryptoSpec": {
"_typeName": "string"
}
},
"resourcePool": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"host": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"folder": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"disallowPrerequisiteMoves": false,
"resourceLeaseDurationSec": 0
}
}
StoragePlacementSpec encapsulates all of the inputs passed to the RecommendDatastores method.
OK
{
"_typeName": "string",
"recommendations": [
{
"_typeName": "string",
"key": "string",
"type": "string",
"time": "string",
"rating": 0,
"reason": "string",
"reasonText": "string",
"warningText": "string",
"warningDetails": {
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
},
"prerequisite": [
"string"
],
"action": [
{
"_typeName": "string",
"type": "string",
"target": {
"_typeName": "string",
"type": "string",
"value": "string"
}
}
],
"target": {
"_typeName": "string",
"type": "string",
"value": "string"
}
}
],
"drsFault": {
"_typeName": "string",
"reason": "string",
"faultsByVm": [
{
"_typeName": "string",
"vm": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"fault": [
{
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
]
}
]
},
"task": {
"_typeName": "string",
"type": "string",
"value": "string"
}
}
The list of recommendations that the client needs to approve manually.
The faults generated by DRS when it tries to make recommendations for rule enforcement, power management, etc., and indexed in a tree structure with reason for recommendations and VM to migrate (optional) as the index keys.