Storage Resource Manager Recommend Datastores

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

Request
URI
POST
https://{vcenter-host}/sdk/vim25/{release}/StorageResourceManager/{moId}/RecommendDatastores
COPY
Path Parameters
string
moId
Required

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}.

string
release
Required

The vSphere release schema. The current specification covers vSphere 8.0.2.0 APIs.


Request Body
RecommendDatastoresRequestType of type(s) application/json
Required
{
    "storageSpec": {
        "type": "string",
        "priority": "string",
        "vm": {
            "type": "string",
            "value": "string"
        },
        "podSelectionSpec": {
            "initialVmConfig": [
                {
                    "_typeName": "string",
                    "storagePod": {
                        "type": "string",
                        "value": "string"
                    },
                    "disk": [
                        {
                            "_typeName": "string",
                            "diskId": 0,
                            "diskMoveType": "string",
                            "diskBackingInfo": {
                                "_typeName": "string"
                            },
                            "profile": [
                                {
                                    "_typeName": "string"
                                }
                            ]
                        }
                    ],
                    "vmConfig": {
                        "vm": {
                            "type": "string",
                            "value": "string"
                        },
                        "enabled": false,
                        "behavior": "string",
                        "intraVmAffinity": false,
                        "intraVmAntiAffinity": {
                            "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": {
                "type": "string",
                "value": "string"
            }
        },
        "cloneSpec": {
            "location": {
                "service": {
                    "instanceUuid": "string",
                    "url": "string",
                    "credential": {
                        "_typeName": "string"
                    },
                    "sslThumbprint": "string"
                },
                "folder": {
                    "type": "string",
                    "value": "string"
                },
                "datastore": {
                    "type": "string",
                    "value": "string"
                },
                "diskMoveType": "string",
                "pool": {
                    "type": "string",
                    "value": "string"
                },
                "host": {
                    "type": "string",
                    "value": "string"
                },
                "disk": [
                    {
                        "_typeName": "string",
                        "diskId": 0,
                        "datastore": {
                            "type": "string",
                            "value": "string"
                        },
                        "diskMoveType": "string",
                        "diskBackingInfo": {
                            "_typeName": "string"
                        },
                        "profile": [
                            {
                                "_typeName": "string"
                            }
                        ],
                        "backing": {
                            "parent": "VirtualMachineRelocateSpecDiskLocatorBackingSpec Object",
                            "crypto": {
                                "_typeName": "string"
                            }
                        },
                        "filterSpec": [
                            {
                                "_typeName": "string"
                            }
                        ]
                    }
                ],
                "transform": "string",
                "deviceChange": [
                    {
                        "_typeName": "string",
                        "operation": "string",
                        "fileOperation": "string",
                        "device": {
                            "key": 0,
                            "deviceInfo": {
                                "label": "string",
                                "summary": "string"
                            },
                            "backing": {
                                "_typeName": "string"
                            },
                            "connectable": {
                                "migrateConnect": "string",
                                "startConnected": false,
                                "allowGuestControl": false,
                                "connected": false,
                                "status": "string"
                            },
                            "slotInfo": {
                                "_typeName": "string"
                            },
                            "controllerKey": 0,
                            "unitNumber": 0,
                            "numaNode": 0,
                            "deviceGroupInfo": {
                                "groupInstanceKey": 0,
                                "sequenceId": 0
                            }
                        },
                        "profile": [
                            {
                                "_typeName": "string"
                            }
                        ],
                        "backing": {
                            "parent": "VirtualDeviceConfigSpecBackingSpec Object",
                            "crypto": {
                                "_typeName": "string"
                            }
                        },
                        "filterSpec": [
                            {
                                "_typeName": "string"
                            }
                        ],
                        "changeMode": "string"
                    }
                ],
                "profile": [
                    {
                        "_typeName": "string"
                    }
                ],
                "cryptoSpec": {
                    "_typeName": "string"
                }
            },
            "template": false,
            "config": {
                "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": {
                    "vmPathName": "string",
                    "snapshotDirectory": "string",
                    "suspendDirectory": "string",
                    "logDirectory": "string",
                    "ftMetadataDirectory": "string"
                },
                "tools": {
                    "toolsVersion": 0,
                    "toolsInstallType": "string",
                    "afterPowerOn": false,
                    "afterResume": false,
                    "beforeGuestStandby": false,
                    "beforeGuestShutdown": false,
                    "beforeGuestReboot": false,
                    "toolsUpgradePolicy": "string",
                    "pendingCustomization": "string",
                    "customizationKeyId": {
                        "keyId": "string",
                        "providerId": {
                            "id": "string"
                        }
                    },
                    "syncTimeWithHostAllowed": false,
                    "syncTimeWithHost": false,
                    "lastInstallInfo": {
                        "counter": 0,
                        "fault": {
                            "faultCause": "MethodFault Object",
                            "faultMessage": [
                                {
                                    "_typeName": "string",
                                    "key": "string",
                                    "arg": [
                                        {
                                            "_typeName": "string",
                                            "key": "string",
                                            "value": {
                                                "_typeName": "string"
                                            }
                                        }
                                    ],
                                    "message": "string"
                                }
                            ]
                        }
                    }
                },
                "flags": {
                    "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": {
                    "powerOnWhenOpened": false,
                    "enterFullScreenOnPowerOn": false,
                    "closeOnPowerOffOrSuspend": false
                },
                "powerOpInfo": {
                    "powerOffType": "string",
                    "suspendType": "string",
                    "resetType": "string",
                    "defaultPowerOffType": "string",
                    "defaultSuspendType": "string",
                    "defaultResetType": "string",
                    "standbyAction": "string"
                },
                "rebootPowerOff": false,
                "numCPUs": 0,
                "vcpuConfig": [
                    {
                        "_typeName": "string",
                        "latencySensitivity": {
                            "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": {
                            "key": 0,
                            "deviceInfo": {
                                "label": "string",
                                "summary": "string"
                            },
                            "backing": {
                                "_typeName": "string"
                            },
                            "connectable": {
                                "migrateConnect": "string",
                                "startConnected": false,
                                "allowGuestControl": false,
                                "connected": false,
                                "status": "string"
                            },
                            "slotInfo": {
                                "_typeName": "string"
                            },
                            "controllerKey": 0,
                            "unitNumber": 0,
                            "numaNode": 0,
                            "deviceGroupInfo": {
                                "groupInstanceKey": 0,
                                "sequenceId": 0
                            }
                        },
                        "profile": [
                            {
                                "_typeName": "string"
                            }
                        ],
                        "backing": {
                            "parent": "VirtualDeviceConfigSpecBackingSpec Object",
                            "crypto": {
                                "_typeName": "string"
                            }
                        },
                        "filterSpec": [
                            {
                                "_typeName": "string"
                            }
                        ],
                        "changeMode": "string"
                    }
                ],
                "cpuAllocation": {
                    "reservation": 0,
                    "expandableReservation": false,
                    "limit": 0,
                    "shares": {
                        "shares": 0,
                        "level": "string"
                    },
                    "overheadLimit": 0
                },
                "memoryAllocation": {
                    "reservation": 0,
                    "expandableReservation": false,
                    "limit": 0,
                    "shares": {
                        "shares": 0,
                        "level": "string"
                    },
                    "overheadLimit": 0
                },
                "latencySensitivity": {
                    "level": "string",
                    "sensitivity": 0
                },
                "cpuAffinity": {
                    "affinitySet": [
                        0
                    ]
                },
                "memoryAffinity": {
                    "affinitySet": [
                        0
                    ]
                },
                "networkShaper": {
                    "enabled": false,
                    "peakBps": 0,
                    "averageBps": 0,
                    "burstSize": 0
                },
                "cpuFeatureMask": [
                    {
                        "_typeName": "string",
                        "operation": "string",
                        "removeKey": {
                            "_typeName": "string"
                        },
                        "info": {
                            "level": 0,
                            "vendor": "string",
                            "eax": "string",
                            "ebx": "string",
                            "ecx": "string",
                            "edx": "string"
                        }
                    }
                ],
                "extraConfig": [
                    {
                        "_typeName": "string",
                        "key": "string",
                        "value": {
                            "_typeName": "string"
                        }
                    }
                ],
                "swapPlacement": "string",
                "bootOptions": {
                    "bootDelay": 0,
                    "enterBIOSSetup": false,
                    "efiSecureBootEnabled": false,
                    "bootRetryEnabled": false,
                    "bootRetryDelay": 0,
                    "bootOrder": [
                        {
                            "_typeName": "string"
                        }
                    ],
                    "networkBootProtocol": "string"
                },
                "vAppConfig": {
                    "product": [
                        {
                            "_typeName": "string",
                            "operation": "string",
                            "removeKey": {
                                "_typeName": "string"
                            },
                            "info": {
                                "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": {
                                "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": {
                        "supportedAllocationScheme": [
                            "string"
                        ],
                        "ipAllocationPolicy": "string",
                        "supportedIpProtocol": [
                            "string"
                        ],
                        "ipProtocol": "string"
                    },
                    "eula": [
                        "string"
                    ],
                    "ovfSection": [
                        {
                            "_typeName": "string",
                            "operation": "string",
                            "removeKey": {
                                "_typeName": "string"
                            },
                            "info": {
                                "key": 0,
                                "namespace": "string",
                                "type": "string",
                                "atEnvelopeLevel": false,
                                "contents": "string"
                            }
                        }
                    ],
                    "ovfEnvironmentTransport": [
                        "string"
                    ],
                    "installBootRequired": false,
                    "installBootStopDelay": 0
                },
                "ftInfo": {
                    "role": 0,
                    "instanceUuids": [
                        "string"
                    ],
                    "configPaths": [
                        "string"
                    ],
                    "orphaned": false
                },
                "repConfig": {
                    "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": {
                    "extensionKey": "string",
                    "type": "string"
                },
                "memoryReservationLockedToMax": false,
                "nestedHVEnabled": false,
                "vPMCEnabled": false,
                "scheduledHardwareUpgradeInfo": {
                    "upgradePolicy": "string",
                    "versionKey": "string",
                    "scheduledHardwareUpgradeStatus": "string",
                    "fault": {
                        "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": {
                    "epcSize": 0,
                    "flcMode": "string",
                    "lePubKeyHash": "string",
                    "requireAttestation": false
                },
                "ftEncryptionMode": "string",
                "guestMonitoringModeInfo": {
                    "gmmFile": "string",
                    "gmmAppliance": "string"
                },
                "sevEnabled": false,
                "virtualNuma": {
                    "coresPerNumaNode": 0,
                    "exposeVnumaOnCpuHotadd": false
                },
                "motherboardLayout": "string",
                "pmemFailoverEnabled": false,
                "vmxStatsCollectionEnabled": false,
                "vmOpNotificationToAppEnabled": false,
                "vmOpNotificationTimeout": 0,
                "deviceSwap": {
                    "lsiToPvscsi": {
                        "enabled": false,
                        "applicable": false,
                        "status": "string"
                    }
                },
                "simultaneousThreads": 0,
                "pmem": {
                    "snapshotMode": "string"
                },
                "deviceGroups": {
                    "deviceGroup": [
                        {
                            "_typeName": "string",
                            "groupInstanceKey": 0,
                            "deviceInfo": {
                                "label": "string",
                                "summary": "string"
                            }
                        }
                    ]
                },
                "fixedPassthruHotPlugEnabled": false
            },
            "customization": {
                "options": {
                    "_typeName": "string"
                },
                "identity": {
                    "_typeName": "string"
                },
                "globalIPSettings": {
                    "dnsSuffixList": [
                        "string"
                    ],
                    "dnsServerList": [
                        "string"
                    ]
                },
                "nicSettingMap": [
                    {
                        "_typeName": "string",
                        "macAddress": "string",
                        "adapter": {
                            "ip": {
                                "_typeName": "string"
                            },
                            "subnetMask": "string",
                            "gateway": [
                                "string"
                            ],
                            "ipV6Spec": {
                                "ip": [
                                    {
                                        "_typeName": "string"
                                    }
                                ],
                                "gateway": [
                                    "string"
                                ]
                            },
                            "dnsServerList": [
                                "string"
                            ],
                            "dnsDomain": "string",
                            "primaryWINS": "string",
                            "secondaryWINS": "string",
                            "netBIOS": "string"
                        }
                    }
                ],
                "encryptionKey": [
                    0
                ]
            },
            "powerOn": false,
            "snapshot": {
                "type": "string",
                "value": "string"
            },
            "memory": false,
            "tpmProvisionPolicy": "string"
        },
        "cloneName": "string",
        "configSpec": {
            "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": {
                "vmPathName": "string",
                "snapshotDirectory": "string",
                "suspendDirectory": "string",
                "logDirectory": "string",
                "ftMetadataDirectory": "string"
            },
            "tools": {
                "toolsVersion": 0,
                "toolsInstallType": "string",
                "afterPowerOn": false,
                "afterResume": false,
                "beforeGuestStandby": false,
                "beforeGuestShutdown": false,
                "beforeGuestReboot": false,
                "toolsUpgradePolicy": "string",
                "pendingCustomization": "string",
                "customizationKeyId": {
                    "keyId": "string",
                    "providerId": {
                        "id": "string"
                    }
                },
                "syncTimeWithHostAllowed": false,
                "syncTimeWithHost": false,
                "lastInstallInfo": {
                    "counter": 0,
                    "fault": {
                        "faultCause": "MethodFault Object",
                        "faultMessage": [
                            {
                                "_typeName": "string",
                                "key": "string",
                                "arg": [
                                    {
                                        "_typeName": "string",
                                        "key": "string",
                                        "value": {
                                            "_typeName": "string"
                                        }
                                    }
                                ],
                                "message": "string"
                            }
                        ]
                    }
                }
            },
            "flags": {
                "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": {
                "powerOnWhenOpened": false,
                "enterFullScreenOnPowerOn": false,
                "closeOnPowerOffOrSuspend": false
            },
            "powerOpInfo": {
                "powerOffType": "string",
                "suspendType": "string",
                "resetType": "string",
                "defaultPowerOffType": "string",
                "defaultSuspendType": "string",
                "defaultResetType": "string",
                "standbyAction": "string"
            },
            "rebootPowerOff": false,
            "numCPUs": 0,
            "vcpuConfig": [
                {
                    "_typeName": "string",
                    "latencySensitivity": {
                        "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": {
                        "key": 0,
                        "deviceInfo": {
                            "label": "string",
                            "summary": "string"
                        },
                        "backing": {
                            "_typeName": "string"
                        },
                        "connectable": {
                            "migrateConnect": "string",
                            "startConnected": false,
                            "allowGuestControl": false,
                            "connected": false,
                            "status": "string"
                        },
                        "slotInfo": {
                            "_typeName": "string"
                        },
                        "controllerKey": 0,
                        "unitNumber": 0,
                        "numaNode": 0,
                        "deviceGroupInfo": {
                            "groupInstanceKey": 0,
                            "sequenceId": 0
                        }
                    },
                    "profile": [
                        {
                            "_typeName": "string"
                        }
                    ],
                    "backing": {
                        "parent": "VirtualDeviceConfigSpecBackingSpec Object",
                        "crypto": {
                            "_typeName": "string"
                        }
                    },
                    "filterSpec": [
                        {
                            "_typeName": "string"
                        }
                    ],
                    "changeMode": "string"
                }
            ],
            "cpuAllocation": {
                "reservation": 0,
                "expandableReservation": false,
                "limit": 0,
                "shares": {
                    "shares": 0,
                    "level": "string"
                },
                "overheadLimit": 0
            },
            "memoryAllocation": {
                "reservation": 0,
                "expandableReservation": false,
                "limit": 0,
                "shares": {
                    "shares": 0,
                    "level": "string"
                },
                "overheadLimit": 0
            },
            "latencySensitivity": {
                "level": "string",
                "sensitivity": 0
            },
            "cpuAffinity": {
                "affinitySet": [
                    0
                ]
            },
            "memoryAffinity": {
                "affinitySet": [
                    0
                ]
            },
            "networkShaper": {
                "enabled": false,
                "peakBps": 0,
                "averageBps": 0,
                "burstSize": 0
            },
            "cpuFeatureMask": [
                {
                    "_typeName": "string",
                    "operation": "string",
                    "removeKey": {
                        "_typeName": "string"
                    },
                    "info": {
                        "level": 0,
                        "vendor": "string",
                        "eax": "string",
                        "ebx": "string",
                        "ecx": "string",
                        "edx": "string"
                    }
                }
            ],
            "extraConfig": [
                {
                    "_typeName": "string",
                    "key": "string",
                    "value": {
                        "_typeName": "string"
                    }
                }
            ],
            "swapPlacement": "string",
            "bootOptions": {
                "bootDelay": 0,
                "enterBIOSSetup": false,
                "efiSecureBootEnabled": false,
                "bootRetryEnabled": false,
                "bootRetryDelay": 0,
                "bootOrder": [
                    {
                        "_typeName": "string"
                    }
                ],
                "networkBootProtocol": "string"
            },
            "vAppConfig": {
                "product": [
                    {
                        "_typeName": "string",
                        "operation": "string",
                        "removeKey": {
                            "_typeName": "string"
                        },
                        "info": {
                            "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": {
                            "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": {
                    "supportedAllocationScheme": [
                        "string"
                    ],
                    "ipAllocationPolicy": "string",
                    "supportedIpProtocol": [
                        "string"
                    ],
                    "ipProtocol": "string"
                },
                "eula": [
                    "string"
                ],
                "ovfSection": [
                    {
                        "_typeName": "string",
                        "operation": "string",
                        "removeKey": {
                            "_typeName": "string"
                        },
                        "info": {
                            "key": 0,
                            "namespace": "string",
                            "type": "string",
                            "atEnvelopeLevel": false,
                            "contents": "string"
                        }
                    }
                ],
                "ovfEnvironmentTransport": [
                    "string"
                ],
                "installBootRequired": false,
                "installBootStopDelay": 0
            },
            "ftInfo": {
                "role": 0,
                "instanceUuids": [
                    "string"
                ],
                "configPaths": [
                    "string"
                ],
                "orphaned": false
            },
            "repConfig": {
                "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": {
                "extensionKey": "string",
                "type": "string"
            },
            "memoryReservationLockedToMax": false,
            "nestedHVEnabled": false,
            "vPMCEnabled": false,
            "scheduledHardwareUpgradeInfo": {
                "upgradePolicy": "string",
                "versionKey": "string",
                "scheduledHardwareUpgradeStatus": "string",
                "fault": {
                    "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": {
                "epcSize": 0,
                "flcMode": "string",
                "lePubKeyHash": "string",
                "requireAttestation": false
            },
            "ftEncryptionMode": "string",
            "guestMonitoringModeInfo": {
                "gmmFile": "string",
                "gmmAppliance": "string"
            },
            "sevEnabled": false,
            "virtualNuma": {
                "coresPerNumaNode": 0,
                "exposeVnumaOnCpuHotadd": false
            },
            "motherboardLayout": "string",
            "pmemFailoverEnabled": false,
            "vmxStatsCollectionEnabled": false,
            "vmOpNotificationToAppEnabled": false,
            "vmOpNotificationTimeout": 0,
            "deviceSwap": {
                "lsiToPvscsi": {
                    "enabled": false,
                    "applicable": false,
                    "status": "string"
                }
            },
            "simultaneousThreads": 0,
            "pmem": {
                "snapshotMode": "string"
            },
            "deviceGroups": {
                "deviceGroup": [
                    {
                        "_typeName": "string",
                        "groupInstanceKey": 0,
                        "deviceInfo": {
                            "label": "string",
                            "summary": "string"
                        }
                    }
                ]
            },
            "fixedPassthruHotPlugEnabled": false
        },
        "relocateSpec": {
            "service": {
                "instanceUuid": "string",
                "url": "string",
                "credential": {
                    "_typeName": "string"
                },
                "sslThumbprint": "string"
            },
            "folder": {
                "type": "string",
                "value": "string"
            },
            "datastore": {
                "type": "string",
                "value": "string"
            },
            "diskMoveType": "string",
            "pool": {
                "type": "string",
                "value": "string"
            },
            "host": {
                "type": "string",
                "value": "string"
            },
            "disk": [
                {
                    "_typeName": "string",
                    "diskId": 0,
                    "datastore": {
                        "type": "string",
                        "value": "string"
                    },
                    "diskMoveType": "string",
                    "diskBackingInfo": {
                        "_typeName": "string"
                    },
                    "profile": [
                        {
                            "_typeName": "string"
                        }
                    ],
                    "backing": {
                        "parent": "VirtualMachineRelocateSpecDiskLocatorBackingSpec Object",
                        "crypto": {
                            "_typeName": "string"
                        }
                    },
                    "filterSpec": [
                        {
                            "_typeName": "string"
                        }
                    ]
                }
            ],
            "transform": "string",
            "deviceChange": [
                {
                    "_typeName": "string",
                    "operation": "string",
                    "fileOperation": "string",
                    "device": {
                        "key": 0,
                        "deviceInfo": {
                            "label": "string",
                            "summary": "string"
                        },
                        "backing": {
                            "_typeName": "string"
                        },
                        "connectable": {
                            "migrateConnect": "string",
                            "startConnected": false,
                            "allowGuestControl": false,
                            "connected": false,
                            "status": "string"
                        },
                        "slotInfo": {
                            "_typeName": "string"
                        },
                        "controllerKey": 0,
                        "unitNumber": 0,
                        "numaNode": 0,
                        "deviceGroupInfo": {
                            "groupInstanceKey": 0,
                            "sequenceId": 0
                        }
                    },
                    "profile": [
                        {
                            "_typeName": "string"
                        }
                    ],
                    "backing": {
                        "parent": "VirtualDeviceConfigSpecBackingSpec Object",
                        "crypto": {
                            "_typeName": "string"
                        }
                    },
                    "filterSpec": [
                        {
                            "_typeName": "string"
                        }
                    ],
                    "changeMode": "string"
                }
            ],
            "profile": [
                {
                    "_typeName": "string"
                }
            ],
            "cryptoSpec": {
                "_typeName": "string"
            }
        },
        "resourcePool": {
            "type": "string",
            "value": "string"
        },
        "host": {
            "type": "string",
            "value": "string"
        },
        "folder": {
            "type": "string",
            "value": "string"
        },
        "disallowPrerequisiteMoves": false,
        "resourceLeaseDurationSec": 0
    }
}
storageSpec
Required

StoragePlacementSpec encapsulates all of the inputs passed to the RecommendDatastores method.

Authentication
This operation uses the following authentication methods.
Responses
200

OK

Returns StoragePlacementResult of type(s) application/json
This response body class contains all of the following: DataObject
{
    "_typeName": "string",
    "recommendations": [
        {
            "_typeName": "string",
            "key": "string",
            "type": "string",
            "time": "string",
            "rating": 0,
            "reason": "string",
            "reasonText": "string",
            "warningText": "string",
            "warningDetails": {
                "key": "string",
                "arg": [
                    {
                        "_typeName": "string",
                        "key": "string",
                        "value": {
                            "_typeName": "string"
                        }
                    }
                ],
                "message": "string"
            },
            "prerequisite": [
                "string"
            ],
            "action": [
                {
                    "_typeName": "string",
                    "type": "string",
                    "target": {
                        "type": "string",
                        "value": "string"
                    }
                }
            ],
            "target": {
                "type": "string",
                "value": "string"
            }
        }
    ],
    "drsFault": {
        "reason": "string",
        "faultsByVm": [
            {
                "_typeName": "string",
                "vm": {
                    "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": {
        "type": "string",
        "value": "string"
    }
}
recommendations
Optional

The list of recommendations that the client needs to approve manually.

drsFault
Optional

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.

task
Optional

Reference to an instance of the Task managed object.