Pbm Placement Solver Pbm Check Requirements

Pbm Placement Solver Pbm Check Requirements

Performs placement compatibility checking for the specified object to be placed based on its specified set of requirements.

If compatibility checking for a hub does not produce any errors, the hub is considered a viable candidate for virtual machine storage.

Required privileges: StorageProfile.View

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

string
release
Required

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


Request Body
PbmCheckRequirementsRequestType of type(s) application/json
Required
{
    "hubsToSearch": [
        {
            "_typeName": "string",
            "hubType": "string",
            "hubId": "string"
        }
    ],
    "placementSubjectRef": {
        "_typeName": "string",
        "objectType": "string",
        "key": "string",
        "serverUuid": "string"
    },
    "placementSubjectRequirement": [
        {
            "_typeName": "string"
        }
    ]
}
hubsToSearch
Optional

Candidate list of hubs, either datastores or storage pods or a mix. If this parameter is not specified, the Server uses all of the datastores and storage pods for placement compatibility checking.

placementSubjectRef
Optional

The PbmServerObjectRef data object identifies a virtual machine, virtual disk attached to a virtual machine, a first class storage object or a datastore.

This structure may be used only with operations rendered under /pbm.

placementSubjectRequirement
Optional

Requirements including the policy requirements, compute requirements and capacity requirements. It is invalid to specify no requirements. It is also invalid to specify duplicate requirements or multiple conflicting requirements such as specifying both PbmPlacementCapabilityConstraintsRequirement and PbmPlacementCapabilityProfileRequirement.

Authentication
This operation uses the following authentication methods.
Responses
200

Array of compatibility result objects. The results array contains one entry for each entry in the hubsToSearch list. If hubs list is not specified, the results array contains one entry for each datastore and storage pod in your vSphere environment. Any errors are returned in the results array.

  • If there is an invalid argument error, the compatibility results will contain InvalidArgument faults indicating that the profile does not exist or that it does not match the requirement type.
  • If there are errors or warnings during compatibility checking, the compatibility results will contain faults derived from PbmCompatibilityCheckFault.
Returns Array of PbmPlacementCompatibilityResult of type(s) application/json
[
    {
        "_typeName": "string",
        "hub": {
            "_typeName": "string",
            "hubType": "string",
            "hubId": "string"
        },
        "matchingResources": [
            {
                "_typeName": "string"
            }
        ],
        "howMany": 0,
        "utilization": [
            {
                "_typeName": "string",
                "name": {
                    "_typeName": "string",
                    "label": "string",
                    "summary": "string",
                    "key": "string",
                    "messageCatalogKeyPrefix": "string",
                    "messageArg": [
                        {
                            "_typeName": "string",
                            "key": "string",
                            "value": {
                                "_typeName": "string"
                            }
                        }
                    ]
                },
                "description": {
                    "_typeName": "string",
                    "label": "string",
                    "summary": "string",
                    "key": "string",
                    "messageCatalogKeyPrefix": "string",
                    "messageArg": [
                        {
                            "_typeName": "string",
                            "key": "string",
                            "value": {
                                "_typeName": "string"
                            }
                        }
                    ]
                },
                "availableBefore": 0,
                "availableAfter": 0,
                "total": 0
            }
        ],
        "warning": [
            {
                "_typeName": "string",
                "faultCause": "MethodFault Object",
                "faultMessage": [
                    {
                        "_typeName": "string",
                        "key": "string",
                        "arg": [
                            {
                                "_typeName": "string",
                                "key": "string",
                                "value": {
                                    "_typeName": "string"
                                }
                            }
                        ],
                        "message": "string"
                    }
                ]
            }
        ],
        "error": [
            {
                "_typeName": "string",
                "faultCause": "MethodFault Object",
                "faultMessage": [
                    {
                        "_typeName": "string",
                        "key": "string",
                        "arg": [
                            {
                                "_typeName": "string",
                                "key": "string",
                                "value": {
                                    "_typeName": "string"
                                }
                            }
                        ],
                        "message": "string"
                    }
                ]
            }
        ]
    }
]

500

InvalidArgument: if placementSubjectRequirement is null or empty or if there are duplicate or multiple conflicting requirements such as PbmPlacementCapabilityConstraintsRequirement and PbmPlacementCapabilityProfileRequirement both being specified.

PbmFault: If there is an internal server error.

Returns PbmFault 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"
        }
    ]
}