Cluster Compute Resource Validate HCI Configuration
Validate HCI configuration in pre-configure and post-configure use-cases.
- pre-configure use-case: Validates the HCI configuration to be applied on the cluster. A successful validation in this case means the HCIConfigSpec can be applied without errors on the cluster using ConfigureHCI_Task or ExtendHCI_Task These are the things the API validates:
- When providing a set of physical adapters in the dvsProf argument, the API validates that all the adapters should be present on all the hosts to be validated. The adapters should either be unmapped or mapped to the same vSwitch across hosts. In addition to this, if the adapters are connected to a DistributedVirtualSwitch, it should be exactly the same way as specified in the dvsProf or in the dvsSetting.
- The API will also validate that the ESXi versions of the hosts are compatible with the version of the DistributedVirtualSwitch being created.
- post-configure case: Validate the cluster has been configured correctly as per the ClusterComputeResourceHCIConfigInfo for the cluster. In this case, the API should be invoked with both params omitted as the intent is to validate all hosts in the cluster using the existing ClusterComputeResourceHCIConfigInfo
Required privileges: System.Read
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 ClusterComputeResource/{moId}
.
The vSphere release schema. The current specification covers vSphere 8.0.2.0 APIs.
{
"hciConfigSpec": {
"dvsProf": [
{
"_typeName": "string",
"dvsName": "string",
"dvSwitch": {},
"pnicDevices": [
"string"
],
"dvPortgroupMapping": [
{
"_typeName": "string",
"dvPortgroupSpec": {
"dynamicProperty": [
{
"_typeName": "string",
"name": "string",
"val": {
"_typeName": "string"
}
}
],
"configVersion": "string",
"name": "string",
"numPorts": 0,
"portNameFormat": "string",
"defaultPortConfig": {
"blocked": {
"inherited": false,
"value": false
},
"vmDirectPathGen2Allowed": {
"inherited": false,
"value": false
},
"inShapingPolicy": {
"inherited": false,
"enabled": {
"inherited": false,
"value": false
},
"averageBandwidth": {
"inherited": false,
"value": 0
},
"peakBandwidth": {
"inherited": false,
"value": 0
},
"burstSize": {
"inherited": false,
"value": 0
}
},
"outShapingPolicy": {
"inherited": false,
"enabled": {
"inherited": false,
"value": false
},
"averageBandwidth": {
"inherited": false,
"value": 0
},
"peakBandwidth": {
"inherited": false,
"value": 0
},
"burstSize": {
"inherited": false,
"value": 0
}
},
"vendorSpecificConfig": {
"inherited": false,
"keyValue": [
{
"_typeName": "string",
"key": "string",
"opaqueData": "string"
}
]
},
"networkResourcePoolKey": {
"inherited": false,
"value": "string"
},
"filterPolicy": {
"inherited": false,
"filterConfig": [
{
"_typeName": "string",
"inherited": false,
"key": "string",
"agentName": "string",
"slotNumber": "string",
"parameters": {
"parameters": [
"string"
]
},
"onFailure": "string"
}
]
}
},
"description": "string",
"type": "string",
"backingType": "string",
"scope": [
{
"_typeName": "string",
"type": "string",
"value": "string"
}
],
"policy": {
"blockOverrideAllowed": false,
"shapingOverrideAllowed": false,
"vendorConfigOverrideAllowed": false,
"livePortMovingAllowed": false,
"portConfigResetAtDisconnect": false,
"networkResourcePoolOverrideAllowed": false,
"trafficFilterOverrideAllowed": false
},
"vendorSpecificConfig": [
{
"_typeName": "string",
"key": "string",
"opaqueData": "string"
}
],
"autoExpand": false,
"vmVnicNetworkResourcePoolKey": "string",
"transportZoneUuid": "string",
"transportZoneName": "string",
"logicalSwitchUuid": "string",
"segmentId": "string"
},
"dvPortgroup": {},
"service": "string"
}
]
}
],
"hostConfigProfile": {
"dateTimeConfig": {
"timeZone": "string",
"ntpConfig": {
"server": [
"string"
],
"configFile": [
"string"
]
},
"ptpConfig": {
"domain": 0,
"port": [
{
"_typeName": "string",
"index": 0,
"deviceType": "string",
"device": "string",
"ipConfig": {
"dhcp": false,
"ipAddress": "string",
"subnetMask": "string",
"ipV6Config": {
"ipV6Address": [
{
"_typeName": "string",
"ipAddress": "string",
"prefixLength": 0,
"origin": "string",
"dadState": "string",
"lifetime": "string",
"operation": "string"
}
],
"autoConfigurationEnabled": false,
"dhcpV6Enabled": false
}
}
}
]
},
"protocol": "string",
"enabled": false,
"disableEvents": false,
"disableFallback": false,
"resetToFactoryDefaults": false
},
"lockdownMode": "string"
},
"vSanConfigSpec": {},
"vcProf": {
"clusterSpec": {
"vmSwapPlacement": "string",
"spbmEnabled": false,
"defaultHardwareVersionKey": "string",
"desiredSoftwareSpec": {
"baseImageSpec": {
"version": "string"
},
"vendorAddOnSpec": {
"name": "string",
"version": "string"
},
"components": [
{
"_typeName": "string",
"name": "string",
"version": "string"
}
]
},
"maximumHardwareVersionKey": "string",
"enableConfigManager": false,
"systemVMsConfig": {
"allowedDatastores": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"datastore": {}
}
],
"notAllowedDatastores": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"datastore": {}
}
],
"dsTagCategoriesToExclude": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"category": "string"
}
],
"deploymentMode": "string"
},
"dasConfig": {
"enabled": false,
"vmMonitoring": "string",
"hostMonitoring": "string",
"vmComponentProtecting": "string",
"failoverLevel": 0,
"admissionControlPolicy": {
"resourceReductionToToleratePercent": 0,
"pMemAdmissionControlEnabled": false
},
"admissionControlEnabled": false,
"defaultVmSettings": {
"restartPriority": "string",
"restartPriorityTimeout": 0,
"isolationResponse": "string",
"vmToolsMonitoringSettings": {
"enabled": false,
"vmMonitoring": "string",
"clusterSettings": false,
"failureInterval": 0,
"minUpTime": 0,
"maxFailures": 0,
"maxFailureWindow": 0
},
"vmComponentProtectionSettings": {
"vmStorageProtectionForAPD": "string",
"enableAPDTimeoutForHosts": false,
"vmTerminateDelayForAPDSec": 0,
"vmReactionOnAPDCleared": "string",
"vmStorageProtectionForPDL": "string"
}
},
"option": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"heartbeatDatastore": [
{
"_typeName": "string",
"type": "string",
"value": "string"
}
],
"hBDatastoreCandidatePolicy": "string"
},
"dasVmConfigSpec": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"key": {},
"restartPriority": "string",
"powerOffOnIsolation": false,
"dasSettings": {
"restartPriority": "string",
"restartPriorityTimeout": 0,
"isolationResponse": "string",
"vmToolsMonitoringSettings": {
"enabled": false,
"vmMonitoring": "string",
"clusterSettings": false,
"failureInterval": 0,
"minUpTime": 0,
"maxFailures": 0,
"maxFailureWindow": 0
},
"vmComponentProtectionSettings": {
"vmStorageProtectionForAPD": "string",
"enableAPDTimeoutForHosts": false,
"vmTerminateDelayForAPDSec": 0,
"vmReactionOnAPDCleared": "string",
"vmStorageProtectionForPDL": "string"
}
}
}
}
],
"drsConfig": {
"enabled": false,
"enableVmBehaviorOverrides": false,
"defaultVmBehavior": "string",
"vmotionRate": 0,
"scaleDescendantsShares": "string",
"option": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
]
},
"drsVmConfigSpec": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"key": {},
"enabled": false,
"behavior": "string"
}
}
],
"rulesSpec": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"key": 0,
"status": "string",
"enabled": false,
"name": "string",
"mandatory": false,
"userCreated": false,
"inCompliance": false,
"ruleUuid": "string"
}
}
],
"orchestration": {
"defaultVmReadiness": {
"readyCondition": "string",
"postReadyDelay": 0
}
},
"vmOrchestrationSpec": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"vm": {},
"vmReadiness": {
"readyCondition": "string",
"postReadyDelay": 0
}
}
}
],
"dpmConfig": {
"enabled": false,
"defaultDpmBehavior": "string",
"hostPowerActionRate": 0,
"option": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
]
},
"dpmHostConfigSpec": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"key": {},
"enabled": false,
"behavior": "string"
}
}
],
"vsanConfig": {
"enabled": false,
"defaultConfig": {
"uuid": "string",
"autoClaimStorage": false,
"checksumEnabled": false
},
"vsanEsaEnabled": false
},
"vsanHostConfigSpec": [
{
"_typeName": "string",
"enabled": false,
"hostSystem": {},
"clusterInfo": {
"uuid": "string",
"nodeUuid": "string"
},
"storageInfo": {
"autoClaimStorage": false,
"diskMapping": [
{
"_typeName": "string",
"ssd": {
"deviceName": "string",
"deviceType": "string",
"key": "string",
"uuid": "string",
"descriptor": [
{
"_typeName": "string",
"quality": "string",
"id": "string"
}
],
"canonicalName": "string",
"displayName": "string",
"lunType": "string",
"vendor": "string",
"model": "string",
"revision": "string",
"scsiLevel": 0,
"serialNumber": "string",
"durableName": {
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
},
"alternateName": [
{
"_typeName": "string",
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
}
],
"standardInquiry": [
0
],
"queueDepth": 0,
"operationalState": [
"string"
],
"capabilities": {
"updateDisplayNameSupported": false
},
"vStorageSupport": "string",
"protocolEndpoint": false,
"perenniallyReserved": false,
"clusteredVmdkSupported": false,
"applicationProtocol": "string",
"dispersedNs": false,
"capacity": {
"blockSize": 0,
"block": 0
},
"devicePath": "string",
"ssd": false,
"localDisk": false,
"physicalLocation": [
"string"
],
"emulatedDIXDIFEnabled": false,
"vsanDiskInfo": {
"vsanUuid": "string",
"formatVersion": 0
},
"scsiDiskType": "string"
},
"nonSsd": [
{
"_typeName": "string",
"deviceName": "string",
"deviceType": "string",
"key": "string",
"uuid": "string",
"descriptor": [
{
"_typeName": "string",
"quality": "string",
"id": "string"
}
],
"canonicalName": "string",
"displayName": "string",
"lunType": "string",
"vendor": "string",
"model": "string",
"revision": "string",
"scsiLevel": 0,
"serialNumber": "string",
"durableName": {
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
},
"alternateName": [
{
"_typeName": "string",
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
}
],
"standardInquiry": [
0
],
"queueDepth": 0,
"operationalState": [
"string"
],
"capabilities": {
"updateDisplayNameSupported": false
},
"vStorageSupport": "string",
"protocolEndpoint": false,
"perenniallyReserved": false,
"clusteredVmdkSupported": false,
"applicationProtocol": "string",
"dispersedNs": false,
"capacity": {
"blockSize": 0,
"block": 0
},
"devicePath": "string",
"ssd": false,
"localDisk": false,
"physicalLocation": [
"string"
],
"emulatedDIXDIFEnabled": false,
"vsanDiskInfo": {
"vsanUuid": "string",
"formatVersion": 0
},
"scsiDiskType": "string"
}
]
}
],
"diskMapInfo": [
{
"_typeName": "string",
"mapping": {
"ssd": {
"deviceName": "string",
"deviceType": "string",
"key": "string",
"uuid": "string",
"descriptor": [
{
"_typeName": "string",
"quality": "string",
"id": "string"
}
],
"canonicalName": "string",
"displayName": "string",
"lunType": "string",
"vendor": "string",
"model": "string",
"revision": "string",
"scsiLevel": 0,
"serialNumber": "string",
"durableName": {
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
},
"alternateName": [
{
"_typeName": "string",
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
}
],
"standardInquiry": [
0
],
"queueDepth": 0,
"operationalState": [
"string"
],
"capabilities": {
"updateDisplayNameSupported": false
},
"vStorageSupport": "string",
"protocolEndpoint": false,
"perenniallyReserved": false,
"clusteredVmdkSupported": false,
"applicationProtocol": "string",
"dispersedNs": false,
"capacity": {
"blockSize": 0,
"block": 0
},
"devicePath": "string",
"ssd": false,
"localDisk": false,
"physicalLocation": [
"string"
],
"emulatedDIXDIFEnabled": false,
"vsanDiskInfo": {
"vsanUuid": "string",
"formatVersion": 0
},
"scsiDiskType": "string"
},
"nonSsd": [
{
"_typeName": "string",
"deviceName": "string",
"deviceType": "string",
"key": "string",
"uuid": "string",
"descriptor": [
{
"_typeName": "string",
"quality": "string",
"id": "string"
}
],
"canonicalName": "string",
"displayName": "string",
"lunType": "string",
"vendor": "string",
"model": "string",
"revision": "string",
"scsiLevel": 0,
"serialNumber": "string",
"durableName": {
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
},
"alternateName": [
{
"_typeName": "string",
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
}
],
"standardInquiry": [
0
],
"queueDepth": 0,
"operationalState": [
"string"
],
"capabilities": {
"updateDisplayNameSupported": false
},
"vStorageSupport": "string",
"protocolEndpoint": false,
"perenniallyReserved": false,
"clusteredVmdkSupported": false,
"applicationProtocol": "string",
"dispersedNs": false,
"capacity": {
"blockSize": 0,
"block": 0
},
"devicePath": "string",
"ssd": false,
"localDisk": false,
"physicalLocation": [
"string"
],
"emulatedDIXDIFEnabled": false,
"vsanDiskInfo": {
"vsanUuid": "string",
"formatVersion": 0
},
"scsiDiskType": "string"
}
]
},
"mounted": false
}
],
"checksumEnabled": false
},
"networkInfo": {
"port": [
{
"_typeName": "string",
"ipConfig": {
"upstreamIpAddress": "string",
"downstreamIpAddress": "string"
},
"device": "string"
}
]
},
"faultDomainInfo": {
"name": "string"
},
"vsanEsaEnabled": false
}
],
"groupSpec": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"name": "string",
"userCreated": false,
"uniqueID": "string"
}
}
],
"infraUpdateHaConfig": {
"enabled": false,
"behavior": "string",
"moderateRemediation": "string",
"severeRemediation": "string",
"providers": [
"string"
]
},
"proactiveDrsConfig": {
"enabled": false
},
"inHciWorkflow": false,
"cryptoConfig": {
"cryptoMode": "string"
}
},
"evcModeKey": "string",
"evcGraphicsModeKey": "string"
}
},
"hosts": [
{
"_typeName": "string",
"type": "string",
"value": "string"
}
]
}
The set of hosts to be validated. If not specified, the set of existing hosts in the cluster will be used.
Note:- This param must be omitted for post-configure validation.
A list of configuration errors. A non-empty list indicates validation has failed.
[
{
"_typeName": "string",
"info": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
]
Failure
{
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}