Host Vsan Internal System Can Provision Objects

Host Vsan Internal System Can Provision Objects

Determine if given objects can be provisioned.

Determines if the objects of the given size can be provisioned with the given policies. The API is intended to answer the question: can these objects be provisioned with the given policy using the current cluster topology (#hosts and #disks) and does NOT take into account free space on the disk, size of disks, etc. If the objects cannot be provisioned, the API returns the reason for not being able to satisfy the policy. If the objects can be provisioned, the API returns the cost of provisioning objects with this policy. Please note: This API ignores forceProvisioning.

Required privileges: System.Read

Request
URI
POST
https://{vcenter-host}/sdk/vim25/{release}/HostVsanInternalSystem/{moId}/CanProvisionObjects
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 HostVsanInternalSystem/{moId}.

string
release
Required

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


Request Body
CanProvisionObjectsRequestType of type(s) application/json
Required
{
    "npbs": [
        {
            "_typeName": "string",
            "size": [
                0
            ],
            "policy": "string"
        }
    ],
    "ignoreSatisfiability": false
}
npbs
Required

List of NewPolicyBatch structure with sizes and policies.

boolean
ignoreSatisfiability
Optional

Optionally populate PolicyCost even though object cannot be provisioned in the current cluster topology.

Authentication
This operation uses the following authentication methods.
Responses
200

List of PolicySatisfiability objects, one for each specified size.

Returns Array of VsanPolicySatisfiability of type(s) application/json
[
    {
        "_typeName": "string",
        "uuid": "string",
        "isSatisfiable": false,
        "reason": {
            "key": "string",
            "arg": [
                {
                    "_typeName": "string",
                    "key": "string",
                    "value": {
                        "_typeName": "string"
                    }
                }
            ],
            "message": "string"
        },
        "cost": {
            "changeDataSize": 0,
            "currentDataSize": 0,
            "tempDataSize": 0,
            "copyDataSize": 0,
            "changeFlashReadCacheSize": 0,
            "currentFlashReadCacheSize": 0,
            "currentDiskSpaceToAddressSpaceRatio": "number",
            "diskSpaceToAddressSpaceRatio": "number"
        }
    }
]

500

Failure

Returns VimFault of type(s) application/json
This response body class contains all of the following: MethodFault
{
    "_typeName": "string",
    "faultCause": "MethodFault Object",
    "faultMessage": [
        {
            "_typeName": "string",
            "key": "string",
            "arg": [
                {
                    "_typeName": "string",
                    "key": "string",
                    "value": {
                        "_typeName": "string"
                    }
                }
            ],
            "message": "string"
        }
    ]
}